динамическое скрытое поле после постбэка - PullRequest
2 голосов
/ 18 сентября 2010

предположим, что вы сохраняете данные в динамическом скрытом поле, которое создается динамически во время обработки какого-либо события обратной передачи.

, что является наилучшим способом извлечь их из этого поля при обратной передаче (кроме поиска позапросить ключ этого скрытого поля и затем получить соответствующее значение, как показано в коде ниже)?

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 Ответ

2 голосов
/ 18 сентября 2010

вы можете сделать так:

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

, но вы также можете использовать метод findControl . То есть, если элемент имеет зарегистрированный идентификатор ... забыл сказать это, так как findcontrol принимает идентификатор элемента управления, а GetValues ​​определяет элемент управления по имени. (что вряд ли в вашем примере;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...