在运行时创建输入时,c#方法不会触发

时间:2016-05-18 09:04:56

标签: c# html asp.net

我尝试了下面的代码,结果很成功:

<asp:Content runat="server" ID="CNT1" ContentPlaceHolderID="CPH1">
    <div id ="CNT" runat="server">
        <input name="btnName" type="submit" runat="server" id="btnId" clientidmode="Static" value="btnVal" OnServerClick="btnClick"/>
    </div>
</asp:Content>

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

但是当我尝试在运行时添加我的输入时,c#方法并不简单。 我试过下面的代码:

CNT.Controls.Add(new LiteralControl("<input name=\"btnName\" type=\"submit\" runat=\"server\" id=\"btnId\" clientidmode=\"Static\" value=\"btnVal\" OnServerClick=\"btnClick\"/>")

1 个答案:

答案 0 :(得分:2)

创建HtmlInputSubmit对象并根据需要设置属性。

然后将OnServerClick event handler追加到新创建的控件中。

接下来将此控件添加到Controls集合