2012-03-26 4 views
4

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

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

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

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

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

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

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

Готов? GO ...

+0

Я просто используя код/​​дизайн проверки, который был там, чтобы избежать длительной записи кода. Теперь, когда я убрал эту цель. Я мог бы изменить дизайн, чтобы использовать customvalidators и клиентский скрипт ... ????? – Roger

+0

отправить код ... – citronas

+0

Опубликовать ur Aspx код? – Pankaj

ответ

0

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

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

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

+0

есть. не помогает. выход уже кэшируется, поэтому никакие изменения в элементах управления в кнопке отправки не попадают в кеш. кнопка назад просто показывает состояние последнего кеша. – Roger

+0

Мне интересно, можно ли очистить кеш при нажатии кнопки отправки. Я не могу сказать, что я уверен, что это сработает или нет, просто предложение. – Seany84

0

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

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

<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

это не исправить мою проблему. – Roger

+0

также попробуйте установить это: Response.Cache.SetNoStore(); – Sergey

Смежные вопросы