通过外部JavaScript文件加载html和asp服务器控件

时间:2014-03-28 01:43:18

标签: javascript html asp.net

我正在尝试通过外部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>

1 个答案:

答案 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不会注册它们,也不会渲染它们。