以编程方式访问在ASP.NET中创建的Html控件

以编程方式访问在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.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>   
我有一个函数,我在其中构建字符串以在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;

}