2016-03-31 6 views
1

Ich habe eine Schaltfläche zum Senden und unten ist der Code in der OnClick-Ereignis:Server-Seite Warnmeldung, die unerwünschte zeigt, wenn zurück und laden Sie die Seite

protected void btnSubmit_Click(object sender, EventArgs e) 
{ 
... 
ScriptManager.RegisterClientScriptBlock(this, GetType(), "alertMessage", "alert('Submitted')", true); 
} 

Dieser Code funktioniert.

Aber das Problem ist, wenn der Benutzer durch diese zur nächsten Seite:

Response.Redirect("page2.aspx"); 

und wenn Klick Backspace, um wieder zu Seite1 und

vor dem Reload,

die folgende Meldung Box erscheint !!

this problem happened again when we refresh(F5) the page1 after submiting 

wie werde ich das lösen?

Ich habe versucht:

1. if(isPostback)// before the alert 
2. string message = "Submitted"; 
    System.Text.StringBuilder sb = new System.Text.StringBuilder(); 
    sb.Append("<script type = 'text/javascript'>"); 
    sb.Append("window.onload=function(){"); 
    sb.Append("alert('"); 
    sb.Append(message); 
    sb.Append("')};"); 
    sb.Append("</script>"); 
    ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", sb.ToString()); 

Antwort

1

In einem solchen Fall können Sie einen speziellen Code-Block implementieren Aktualisierung des Browsers zu erkennen, wie

private bool refreshState; 
private bool isRefresh; 

protected override void LoadViewState(object savedState) 
{ 
    object[] AllStates = (object[])savedState; 
    base.LoadViewState(AllStates[0]); 
    refreshState = bool.Parse(AllStates[1].ToString()); 
    if (Session["ISREFRESH"] != null && Session["ISREFRESH"] != "") 
     isRefresh = (refreshState == (bool)Session["ISREFRESH"]); 
} 

protected override object SaveViewState() 
{ 
    Session["ISREFRESH"] = refreshState; 
    object[] AllStates = new object[3]; 
    AllStates[0] = base.SaveViewState(); 
    AllStates[1] = !(refreshState); 
    return AllStates; 
} 

In der Submit-Button können Sie es als

tun können
protected void btn3_Click(object sender, EventArgs e) 
{ 
    if (isRefresh == false) 
     { 
      Insert Code here 
     } 
} 
Verwandte Themen