从Code后面动态创建隐藏字段

时间:2014-03-13 14:03:56

标签: c# asp.net .net code-behind

我正在向代码后面的表格单元添加一个隐藏字段,如此

              HtmlTableCell tCellJson= new HtmlTableCell();
              HiddenField hdnJson = new HiddenField();
              hdnJson.ID = "hdnJson"+ count;

              tCellJson.Controls.Add(hdnJson);
              tRow.Cells.Add(tCellJson);

现在,当我试图从代码中获取它时,我没有从代码中获取隐藏的字段控制,我正在这样做

int count=0
  string controlname = "hdnJson" + ++Count;
  HiddenField hdnJson =(HiddenField)tbleFileList.FindControl(controlname);

我的问题是如何获取从Code背后添加的隐藏字段的值?

我看过添加隐藏字段的页面源,隐藏字段的ID为 hdnJson1

1 个答案:

答案 0 :(得分:1)

执行在PreInit事件中动态添加HiddenField的代码,你应该好好去。

查看the ASP.NET Page Life Cycle上的MSDN文章。特别是PreInit事件部分:

  

将此事件用于以下事项:

     

...

     
      
  • 创建或重新创建动态控件。
  •   
protected void Page_PreInit(object sender, EventArgs e)
{
    // whatever other code you have up here

    HtmlTableCell tCellJson= new HtmlTableCell();
    HiddenField hdnJson = new HiddenField();
    hdnJson.ID = "hdnJson"+ count;

    tCellJson.Controls.Add(hdnJson);
    tRow.Cells.Add(tCellJson);
}