aspx代码
<body>
<form id="form1" runat="server">
<div id="choto">
</div>
<asp:Button ID="btn" runat="server" onclick="btn_Click" Text="Submit" />
</form>
</body>
JS代码
<script type="text/javascript">
document.getElementById("choto").innerHTML = "<input name=txt1 type=\"text\" id=\"txt1\" ru" + "nat=\"server\" />";
</script>
C#代码
protected void btn_Click(object sender, EventArgs e)
{
// HtmlInputText txt = new HtmlInputText();
HtmlInputText txt = (HtmlInputText)FindControl("txt1");
txt.Value = "Shakeel";
}
答案 0 :(得分:1)
简单地说,id为“txt1”的输入不是ASP.NET控件,因此ASP.NET无法找到它。必须在服务器上定义ASP.NET控件,否则框架将不知道它们。
<body>
<form id="form1" runat="server">
<div id="choto">
<asp:TextBox ID="txt1" runat="server" style="display:none;" />
</div>
<asp:Button ID="btn" runat="server" onclick="btn_Click" Text="Submit" />
</form>
</body>
无法通过JavaScript添加ASP.NET控件,但是,可以使用JavaScript将它们设置为不可见/可见。
<script type="text/javascript">
document.getElementById('<%# txt1.ClientID %>').style.display = "block";
</script>