如何获取在运行时创建的单击输入的Id

时间:2016-05-18 04:29:26

标签: c# html asp.net

我想在运行时向我的页面添加一些提交输入,并在事件处理程序中使用单击输入的Id。

这是我的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页面上创建输入而不会出现任何问题。

1 个答案:

答案 0 :(得分:0)

将访问修饰符从private更改为protected:

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

因为无法访问私人会员功能。