我正在尝试动态创建文本框。我可以通过以下代码成功创建它:
var parentTable = $('<table border="0" class="table table-bordered" width="100%" id="searchInformation"/>');
var tr = $("<tr class='searchEntitydata'/>");
var tr2 = $("<tr class='searchEntitydata1'/>");
tr.append("<td id='HQNametd'> <label ID='hqName'>HQ Name</label> <input type='textBox' id='textboxSearch' placeholder='Search HeadQuarter'> </td>");
tr.append("<td id='HQIDtd'> <label ID='hqId'>HQ ID</label> <input type='textBox' id='textboxSearchHQId' placeholder='Search ID'> </td>");
tr.append("<td id='BranchNametd'> <label ID='BranchName'>Branch Name</label> <input type='textBox' id='textboxSearchBranchName' placeholder='Search Branch Name'> </td>");
tr.append("<td id='BranchIdtd'> <label ID='BranchId'>Branch Id</label> <input type='textBox' id='textboxSearchBranchId' placeholder='Search Branch ID'> </td>");
tr2.append("<td id='Citytd'> <label ID='City'>City</label> <input type='textBox' id='textboxSearchBranchId' placeholder='Search Branch ID'> </td>");
tr2.append("<td id='Statetd'> <label ID='State'>State</label> <input type='textBox' id='textboxSearchBranchId' placeholder='Search Branch ID'> </td>");
parentTable.append(tr);
parentTable.append(tr2);
$('#confirmSearch').append(parentTable);
但是,当我从input type=textBox
更改文本框类型时
要asp:TextBox
使用runat='server'
,我收到错误消息。
有什么方法可以用runat=server
动态创建文本框?
答案 0 :(得分:1)
否您无法从jQuery或任何客户端脚本添加asp-runat =“server”标记。而是使用以下命令从服务器端动态生成文本框,将代码封装在ajax控件工具包更新面板中。
C#:(点击或页面加载或任何服务器端事件)
TextBox tbOne = new TextBox();
Label lblOne = new Label();
lblOne.ID = "lblId";
lblOne.Text = "My label";
lblOne.Width = 200;
tbOne.ID = "tbId";
tbOne.Text = "xyz";
pnl.Controls.Add(lblOne);
pnl.Controls.Add(tbOne);
<强> ASPX:强>
<asp:Panel ID="pnl"Width="100%" runat="server">
</asp:Panel>