回发后的动态隐藏字段

时间:2010-09-18 05:20:43

标签: asp.net dynamic postback

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

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

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";
    }

}

1 个答案:

答案 0 :(得分:2)

你可以这样做:

    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按名称确定控件。 (在你的例子中不太可能;)