2013-03-25 33 views
1

我已經從StackOverFlow閱讀一些話題,我發現一些方法來刷新頁面,如:
Response.Redirect(Request.RawURL);, Response.Redirect(Absolute.Uri) etc...如何發送提醒並刷新頁面?

但我需要發送確認的警報,並且刷新頁面......現在的我, m使用此方法發送警報:

ScriptManager.RegisterStartupScript(this, typeof(Page), "alert", "alert('Well Done !');", true); 

但是,使用這些方法中的任何一種刷新頁面,都不會觸發警報。所以我需要知道一個方法,這是一個很好的做法。
因爲我有一些DropDownListdatabase數據和我做對數據的一些Edits,所以當在用戶點擊按鈕來edit當前數據,它顯示了像edit successfully消息然後刷新新頁數據。

+0

要刷新您可以使用document.location.reload(true); – Ansari 2013-03-25 13:20:44

+0

@ShariqueAnsari警報如何?會被解僱嗎? – Ghaleon 2013-03-25 13:25:21

+0

您可以使用此警報('Well Done!'); document.location.reload(true); – Ansari 2013-03-25 13:38:01

回答

2

客戶端重定向怎麼樣?

alert("You're now will be redirected"); 
window.location.reload(); 

由於警報()是同步的功能,重定向會火,只有當用戶點擊「確定」

+0

我從來沒有使用過這個。我在哪裏使用這些代碼?我希望所有這些在客戶點擊「編輯」按鈕時被解僱。但不是完全按照用戶按下按鈕。當所有方法都成功完成時,我想要觸發警報/刷新。 – Ghaleon 2013-03-25 13:25:02

+0

通過ScriptManager註冊這個腳本,因爲在你的問題是我猜。您的示例不會調用alert(),因爲在執行任何腳本之前頁面會重新加載。 – Tommi 2013-03-25 13:28:06

+0

OMG,工作! Thaanks man:D使用這種方法有什麼不好嗎?或者這是一個很好的做法? – Ghaleon 2013-03-25 13:32:07

0

上述客戶端腳本可以在你的代碼隱藏加入這種方式。

protected void Render() 
{ 
    System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder("<script " 
     + "type='text/javascript'>" 
     ); 
    stringBuilder.Append("alert('hi');"); 
    stringBuilder.Append("window.location.reload();"); 
    stringBuilder.Append("</script>"); 

}