【问题标题】:Reading dynamically created hidden field from Code behind从后面的代码中读取动态创建的隐藏字段
【发布时间】:2014-03-13 22:35:30
【问题描述】:

我正在像这样在代码后面的表格单元格中添加一个隐藏文件

              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 behind 中添加的隐藏字段的值?

我已经看到了添加隐藏字段的页面源,并且该隐藏字段的 Id 是 hdnJson1

【问题讨论】:

  • 需要知道count 的值在第一个代码块中是什么。还需要知道每个代码块发生在页面生命周期的哪个部分,Page_Load()

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


【解决方案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);
}

【讨论】:

    猜你喜欢
    • 2014-04-01
    • 2013-03-18
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    相关资源
    最近更新 更多