ASP.NET постбэк и кнопка возврата - PullRequest
4 голосов
/ 26 марта 2012

Извините, если это окажется обманом.Я не могу найти ничего похожего на мою проблему.

У меня есть ярлык asp: на форме.После отправки кнопки отправки я выполняю проверку на стороне сервера.Если это не удается, я устанавливаю метку для некоторого текстового значения.

Если я предоставляю действительную информацию и нажимаю кнопку «Отправить» снова, я устанавливаю метку как пустую как часть щелчка отправки, и она выполняет обратную передачу и показывает новыйстр.

Если я нажму кнопку «Назад», в форме появится правильная информация И метка ошибки.

Повторное нажатие кнопки «Отправить» означает, что свойство текста метки пустое, хотя текст явновидимый на экране.

Я ожидаю, что метка будет пустой (фактически невидимой), так как я установил ее пустой до того, как выполню какие-либо действия.

Я пробовал использовать как свойство Text, так и Visibleсвойство, но с тем же результатом.

Готов?GO ...

Ответы [ 2 ]

0 голосов
/ 26 марта 2012

«Если я нажму кнопку« Назад », она отобразит правильную информацию в форме И метку ошибки».: нет проблем с этим;он показывает вам состояние страницы на момент публикации.

Если вы не хотите, чтобы ярлык вашего сообщения сохранял свой видимый или текстовый текст, разметка должна быть:

<asp:label id='myMsgLbl' runat='server' enableviewstate='false' visible='false/>'

--edit

Насколько я знаю, поведение кнопки назад такое же, как и ожидалось.

Возможно, вам следует поискать решения, позволяющие отключить кнопку возврата,

или отключите кеширование вашей формы (но я думаю, что это решение будет хуже вашей первой проблемы)

    private void Page_Load(object sender, System.EventArgs e)
    {
        Response.CacheControl = "no-cache";
        Response.AddHeader("Pragma", "no-cache");
        Response.Expires = -1;
        Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
0 голосов
/ 26 марта 2012

Вы пробовали:

protected void Page_Load(object sender, EventArgs e)
{
    lblMessage.Visible = false;
}

Каждый раз, когда ваша страница загружается, ваше сообщение будет невидимым.Таким образом, когда вы выполняете проверку на стороне сервера, вы можете установить текст метки и установить Visibility = true.

...