你好呀。我在 asp.net 的另一个 div 中创建了一个新的 div。现在我想使用新创建的 div 的 innerhtml 属性。我找不到办法。。
这就是我在我的 .aspx 页面中所做的事情。
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="forNewEmployee" runat="server"></div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="link" EventName="click" />
</Triggers>
</asp:UpdatePanel>
<div class="addMore">
<asp:Button ID="link" CssClass="label" runat="server" Text="Add More - Image"
onclick="link_Click" />
</div>
并在代码隐藏文件中..
protected void link_Click(object sender, EventArgs e)
{
if (clickCheck != 0)
{
// access the newly generated div 'forNewEmployee' + specific id and call its innerHtml Method?
System.Web.UI.HtmlControls.HtmlControl div = (System.Web.UI.HtmlControls.HtmlControl)ScriptManager1.FindControl("forNewEmployee" + clickCheck);
}
else {
this.forNewEmployee.InnerHtml = newRow();
}
}
我有一个函数,我在其中构建字符串以在 forNewEmployee div 中引入新元素。是这样定义的。。
protected string newRow() {
// check for click
clickCheck++;
// check for new row
countForEmployee++;
// building our new row
rowString.AppendLine("<label for='empName" + countForEmployee.ToString() + "'>Your Employee Name: <span>(required)</span></label>");
rowString.AppendLine("<input id='empName" + countForEmployee.ToString() + "' class='registrationformEmployeeText' />");
rowString.AppendLine("</div>");
rowString.AppendLine("<div id='forNewEmployee" + countForEmployee.ToString() + "' name='forNewEmployee" + countForEmployee.ToString() + "' runat='server'></div>");
return rowString.ToString();
}