在运行时创建输入时,c#方法不会触发
我尝试了以下代码,结果成功:在运行时创建输入时,c#方法不会触发,c#,html,asp.net,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" OnServerCli
<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
}
受保护的无效btnClick(对象发送方,事件参数e)
{
字符串id=((HtmlInputSubmit)sender.id;
//代码的其余部分
}
但是,当我尝试在运行时添加输入时,c#方法不会触发。
我尝试了以下代码:
CNT.Controls.Add(new LiteralControl("<input name=\"btnName\" type=\"submit\" runat=\"server\" id=\"btnId\" clientidmode=\"Static\" value=\"btnVal\" OnServerClick=\"btnClick\"/>")
CNT.Controls.Add(新的LiteralControl(“”)
创建一个HtmlInputSubmit
对象,并根据需要设置属性
然后将服务器上的Click事件处理程序添加到新创建的控件中
接下来,将此控件添加到LiteralControl文档(emphasis mine)中的控件
集合:表示ASP.NET页面中**不需要在服务器上处理的HTML元素、文本和任何其他字符串。**
。不能将ServerClick与文本控件一起使用。那么解决方案是什么呢?添加适合服务器端处理的控件,例如。