以编程方式访问在ASP.NET中创建的Html控件
你好。我在asp.net中的另一个div中创建了一个新div。现在我想使用新创建的div的innerhtml属性。我找不到方法 这就是我在.aspx页面中所做的以编程方式访问在ASP.NET中创建的Html控件,asp.net,htmlcontrols,Asp.net,Htmlcontrols,你好。我在asp.net中的另一个div中创建了一个新div。现在我想使用新创建的div的innerhtml属性。我找不到方法 这就是我在.aspx页面中所做的 <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server">
<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>
我有一个函数,我在其中构建字符串以在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();
}
受保护的字符串newRow(){
//检查是否有单击
单击Check++;
//检查是否有新行
countForEmployee++;
//建造我们的新一排
AppendLine(“您的员工姓名:(必填)”;
rowString.AppendLine(“”);
rowString.AppendLine(“”);
rowString.AppendLine(“”);
返回rowString.ToString();
}
我不完全确定您是否可以使用div
完成,但确定您可以使用asp:Panel
:
this.forNewEmployee.Controls.Add(new Literal(newRow());
最简单的方法是使用asp.net面板,创建和添加asp.net控件(即使它们是文本控件) 因此,基本上,您的NewRow函数将是:
protected Panel newRow() {
// check for click
clickCheck++;
// check for new row
countForEmployee++;
// building our new row
Panel pnl = new Panel();
pnl.Controls.Add(new Literal("<label for='empName" + countForEmployee.ToString() + "'>Your Employee Name: <span>(required)</span></label>"));
pnl.Controls.Add(new Literal("<input id='empName" + countForEmployee.ToString() + "' class='registrationformEmployeeText' />"));
Panel forNewEmployee = new Panel();
forNewEmployee.ID = "forNewEmployee" + countForEmployee.ToString();
pnl.Controls.Add(forNewEmployee);
return pnl;
}
protectedpanel newRow(){
//检查是否有单击
单击Check++;
//检查是否有新行
countForEmployee++;
//建造我们的新一排
面板pnl=新面板();
添加(新的文字(“您的员工姓名:(必填)”);
pnl.Controls.Add(新文本(“”);
Panel forNewEmployee=newpanel();
forNewEmployee.ID=“forNewEmployee”+countForEmployee.ToString();
pnl.Controls.Add(针对新员工);
返回pnl;
}
这样,您就可以用指定的控件ID进行FIDFIX了。
您可以考虑使用<代码> ASP:Panel < /C> >而不是<代码> div <代码>,它几乎相同,并且在代码中使用更加友好。我如何获取在NeWo(?)中创建的新div?调用它的innerHtml方法?但问题仍然是,如何获取id='forNewEmployee+调用次数为'created in newRow()的fetch new div。问题是我想克隆整行,但要使用不同的ID。例如,如果我没有在newRow函数中创建新行,并在previous div/panel中添加新行,它将替换整个html,但不会在forNewEmployee div中追加新行。。protected Panel newRow() {
// check for click
clickCheck++;
// check for new row
countForEmployee++;
// building our new row
Panel pnl = new Panel();
pnl.Controls.Add(new Literal("<label for='empName" + countForEmployee.ToString() + "'>Your Employee Name: <span>(required)</span></label>"));
pnl.Controls.Add(new Literal("<input id='empName" + countForEmployee.ToString() + "' class='registrationformEmployeeText' />"));
Panel forNewEmployee = new Panel();
forNewEmployee.ID = "forNewEmployee" + countForEmployee.ToString();
pnl.Controls.Add(forNewEmployee);
return pnl;
}