2016-05-18 6 views
1

Я хочу добавить какой-либо ввод ввода на свою страницу во время выполнения и использовать идентификатор щелкнутого входа в обработчике событий.Как получить идентификатор щелкнутого ввода, созданного во время выполнения

Вот мой ASPX код:

<asp:Content runat="server" ID="CNT1" ContentPlaceHolderID="CPH1"> 
    <div id ="CNT" runat="server"> 
    </div> 
</asp:Content> 
<script language="c#" runat="server"> 


private void btnClick(object sender, EventArgs e) 
{ 
    string id = ((HtmlInputSubmit) sender).ID; 
    // some other code using id 
} 
</script> 

и вот мой aspx.cs код

foreach (DataRow dr in dt.Rows) 
{ 
    CNT.Controls.Add(new LiteralControl(
    "<input type=\"submit\" runat=\"server\" id="+dr.ItemArray[0].ToString()+ 
     " value=\"val1\" OnServerClick=\"btnClick\"/>")); 
} 

я могу использовать этот код, чтобы создать свои входы на странице ASPX без каких-либо проблем.

+0

есть вопросы? это не работает "string id = ((HtmlInputSubmit) отправитель) .ID;"? –

+0

, пожалуйста, будьте более конкретными, неспособный понять проблему. –

+0

попробуйте проверить, что ваше событие button_click запущено или нет? – Irfan

ответ

0

Изменение модификатора доступа от частного к защищенному:

protected void btnClick(object sender, EventArgs e) 
{ 
    string id = ((HtmlInputSubmit) sender).ID; 
    // some other code using id 
} 

Поскольку частная функция-член не может быть доступно.

+0

. Мне полезно знать, почему мои коды не работают. – Behnam

+0

см. Обновленный ответ – Ash

+0

Невозможно наложить объект типа «ASP.predictions_aspx» на тип «System.Web.UI.WebControls.Button». – Behnam

Смежные вопросы