2016-07-24 46 views
0

使用aspx DetailsView的插入功能。想要在處理新記錄並將其添加到數據庫時顯示JavaScript模式彈出窗口。我可以鉤上DetailsView_ItemCommand中的按鈕。它不工作,所以我開始試圖通過簡單地顯示javascript Alert()彈出窗口來弄清楚發生了什麼。但不能讓這個工作。以下是相關的DetailsView_ItemCommand:將「請稍候」javascript模式添加到aspx DetailView插入按鈕

protected void DetailsViewInsertFPL_ItemCommand(object sender, DetailsViewCommandEventArgs e) 
{ 
    if (e.CommandName == "Insert") 
    { 
     ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "waitMessage", "alert('Please wait while your request is processed');", true); 
     return; 
    } 
} 

插入記錄後,有一個重定向到另一個aspx頁面。

任何人都可以把我引向正確的道路嗎?我將查看旁邊的一些aspx頁面和DetailsView屬性,看看是否有設置不正確。

+0

將'DetailView'放入'asp:UpdatePanel'中並添加'asp:UpdateProgress'。 –

+0

我會給asp:UpdatePanel和asp:UpdateProgress一起去看看它是如何工作的。 – Pete

回答

0

你不能只使用

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "waitMessage", "alert('Please wait while your request is processed');", true); 

然後由

response.redirect("toanotherpage.aspx"); 

ScriptManager.RegisterStartupScript將在頁面(表單的結束標籤前右)的所有元素之後呈現你的腳本,因此不preceeded當你在同一個代碼塊上使用響應重定向時執行它。

達到你想要,你可以做以下解決方案之一是什麼,

  1. 創建一個JavaScript,並把您重定向或該實例的警報消息後 window.location有你想要
  2. 創建使用其他方法(例如引導)彈出模式,在模式上聲明一個帶有response.redirect代碼的按鈕。
0

Alex Kudryashev建議在一個asp:UpdatePanel中包含DetailView並使用asp:UpdateProgress來顯示「請等待您的請求處理過程」給了我在這種情況下需要的解決方案。

在這裏很少有用戶,所以不知道如何給亞歷克斯提供點,因爲他的建議是一個評論,而不是一個答案。請隨時讓我知道如何處理這種情況下的選票。

謝謝!我已經把頭撞在牆上幾天,以使這個工作。