我正在尝试通过外部javascript文件动态加载表(html和asp服务器控件)。 html控件加载没有问题。然而,ASP服务器控件是一个没有显示...如何让服务器控件在这个地方显示他们的脸??
由于
外部javascript文件:
function BuildPage()
{
var html = "";
html += "<table width='500px' cellspacing='10'>";
html += "<tr><td align='center' colspan='2'><h3>Employee Input Form</h3><hr></td></tr>";
html += "<tr><td>First Name:</td>";
html += "<td><asp:TextBox ID='tbFName' runat='server'></asp:TextBox></td></tr>";
html += "<tr><td>Last Name:</td>";
html += "<td><asp:TextBox ID='tbLName' runat='server'></asp:TextBox></td></tr>";
html += "<tr><td>Address1:</td>";
html += "<td><asp:TextBox ID='tbAddr1' runat='server'></asp:TextBox></td></tr>";
html += "<tr><td>Address2:</td>";
html += "<td><asp:TextBox ID='tbAddr2' runat='server'></asp:TextBox></td></tr>";
html += "<tr><td>City:</td>";
html += "<td><asp:TextBox ID='tbCity' runat='server'></asp:TextBox></td></tr>";
html += "<tr><td>State:</td>";
html += "<td><asp:TextBox ID='tbState' runat='server'></asp:TextBox></td></tr>";
html += "<tr><td>Zip Code:</td>";
html += "<td><asp:TextBox ID='tbZipCode' runat='server'></asp:TextBox></td></tr>";
html += "<tr><td>Contry:</td>";
html += "<td><asp:TextBox ID='tbCountry' runat='server></asp:TextBox></td></tr>";
html += "<tr><td colspan='2'><asp:Button ID='btnSave' runat='server' Text='Save' /></td>";
html += "<td><asp:Label ID='lblSaved' runat='server' Text=''></asp:Lavel></td></tr>";
html += "</table>";
return html;
}
Default.html:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<button type='button' onclick="document.write(BuildPage())">Click for Employee Form</button>
</asp:Content>
答案 0 :(得分:0)
当你有
时 <asp:TextBox ID='tbZipCode' runat='server'></asp:TextBox>
在ASP.NET标记中,这意味着.NET框架将在服务器端注册此控件,但这在HTML中不存在。
.NET Framework将此控件呈现为:
<input type="text" ID="tbZipCode" />
例如,TextBox的“Text”属性将呈现为HTML输入控件的“value”属性。
因此,您无法使用Javascript创建服务器端控件,因为.NET Framework不会注册它们,也不会渲染它们。