2015-02-18 2 views
1

Я строю веб-страницу asp.net с кодом vb.net.aspnet/vbnet clear label после ответа перенаправление

Моя веб-страница предназначена для отображения ошибки, когда пользователь нажимает кнопку без заполнения соответствующего текстового поля; Приведенный ниже код показывает, как это работает:

If txtOrderNumber.Text = "" Then 
     lblStatus.Text = orderNoWarning 
     lblStatus.CssClass = "error" 
    ElseIf txtPhaseNumber.Text = "" Then 
     lblStatus.Text = phaseNoWarning 
     lblStatus.CssClass = "error" 
    ElseIf txtOrderNumber.Text.Length > 0 AndAlso txtPhaseNumber.Text.Length > 0 Then 
     Try 
      Dim intOrderNumber As Integer = CInt(txtOrderNumber.Text) 
      Try 
       Dim intPhaseNumber As Integer = CInt(txtPhaseNumber.Text) 
       Dim objWIP_Tracking As New wsWIP_Tracking.WIP_TrackingSoapClient 
       Dim myResults As wsWIP_Tracking.TicketType2 = objWIP_Tracking.GetTicketType2(intOrderNumber, intPhaseNumber) 
       If myResults = wsWIP_Tracking.TicketType2.AME Or _ 
        myResults = wsWIP_Tracking.TicketType2.Orion Then 
        lblStatus.Text = "" 
        Response.Redirect("http://ligrptsvr2/default.aspx?Report=JoinerySummarybyComponent.rpt&username=imservices&FOLDER=Analytics&OrderNo=" & intOrderNumber.ToString & "&PhaseNo=" & intPhaseNumber.ToString & "&ParameterPrompt=yes") 
       ElseIf myResults = wsWIP_Tracking.TicketType2.GS Then 
        lblStatus.Text = "" 
        Response.Redirect("http://ligrptsvr2/default.aspx?Report=JoinerySummary_GreenScreen.rpt&username=wip&FOLDER=Analytics&JobNo=" & intOrderNumber.ToString & "&PhaseNo=" & intPhaseNumber.ToString & "&ParameterPrompt=yes") 
       ElseIf myResults <> wsWIP_Tracking.TicketType2.AME Or _ 
        myResults <> wsWIP_Tracking.TicketType2.Orion Or _ 
        myResults = wsWIP_Tracking.TicketType2.GS Then 
        lblStatus.Text = warning 
        lblStatus.CssClass = "warning" 
       Else 
        Response.End() 
       End If 
      Catch ex As Exception 
      End Try 
     Catch ex As Exception 
     End Try 
    Else 
     lblStatus.Text = "" 
    End If 

Однако, когда Response.Redirect (перенаправляет на новую страницу) происходит, я хотел бы, чтобы очистить метку (lblstatus). Код 'lblstatus.text = ""' не работает. Когда пользователь перенаправляется на новую страницу, а затем возвращается (используя кнопку «Назад браузера»), метка все еще показывает ошибку. Iv попытался отключить и включить viewstate; не имеет никакого значения. Что я могу сделать, чтобы очистить этот ярлык?

+0

_ "отображает ошибку" _ если вы хотите, чтобы мы исправили его, вы должны указать _what_ вид ошибки –

+0

У него есть проблема с его проверкой данных. –

+0

Если пользователь нажимает кнопку «Назад», браузер будет использовать кеш для отображения HTML. Пусть пользователь снова увидит то, что он уже видел, это то, чего он ожидает и чего хочет. –

ответ

0

Пожалуйста, см: What happens when I press browser BACK button?

При нажатии кнопки назад в браузере, большинство браузеров будет просто показывать сохраненную копию страницы HTML в это последнее состояние, прежде чем редирект произошло. Функциональность полностью зависит от браузера. Следовательно, ваш код VB или viewstate вряд ли могут что-либо сделать.

Один из вариантов заключается в использовании java-скрипта на загрузке страницы, чтобы динамически переключать сообщение об ошибке (это то, что я делаю, когда у меня такая проблема).

+0

Что делать, если он использовал ' MaskedTextBox' для проверки данных? –

+0

@JLILIAman Я не знаю о MaskedTextBoxes, но google предполагает, что это вещь в Windows Form. – P5Coder

+0

http://demos.telerik.com/aspnet-mvc/maskedtextbox/validation –

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