【问题标题】:dynamic hiddenfield after a postback回发后的动态隐藏域
【发布时间】:2011-04-14 00:28:57
【问题描述】:

假设您将数据保存到动态隐藏字段中,该字段是在处理某些回发事件期间动态创建的。

在回发时从该字段中检索它的最佳方法是什么(除了在请求中搜索此隐藏字段的键,然后检索相应的值,如下面的代码所示)?

protected void Button2_Click(object sender, EventArgs e)
{
    bool found = false;
    for (int i=0; i<this.Request.Form.Keys.Count; i++)
    {
        string item = this.Request.Form.Keys[i];
        if ( item=="Hidden1")
        {
            Literal6.Text = Request.Form.GetValues(i)[0];
            found = true;
        }
    }

    if (found==false)
    {
        Literal6.Text = "Hidden1 is not found";
    }

}

【问题讨论】:

  • 提示:(found==false) 可以写成(!found)

标签: asp.net dynamic postback


【解决方案1】:

你可以这样做:

    Literal6.Text = "Hidden1 is not found";
    if (Request.Form.HasKeys() && Request.Form.AllKeys.Contains("Hidden1"))
    {
        Literal6.Text = Request.Form.GetValues("Hidden1")[0];
    }

但您也可以使用findControl 方法。也就是说,如果一个元素有一个注册的 id...忘了说,因为 findcontrol 采用控件 ID,而 GetValues 通过名称确定控件。 (在您的示例中不太可能;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多