2013-04-18 43 views
3

自從我在ImageButton_Click事件上啓動我的新項目後,我使用了此命令,並且它在每個使用此頁面的頁面中都很完美:我首先檢查是否有如果是,那麼我發送這個alertScriptManager.RegisterStartUpScript(...)無法正常工作

ScriptManager.RegisterStartupScript(this, typeof(Page), "alert", "alert('No Empty fields are allowed.');", true); 

我在做什麼在這裏:我有2 textboxes我鍵入兩個日期,這些日期被用來填補我reportviewer,但它進入reportviewer之前,我檢查它是否empty與否。

在這個頁面中,它只在第一次按下按鈕時有效。我用斷點,它通過OK通過我的條件IF,但它沒有顯示消息...爲什麼?
完整的代碼在Button_Click Event

if (Txt_Dt_Final.Text == "" || Txt_Dt_Inicial.Text == "") 
    { 
     ScriptManager.RegisterStartupScript(this, typeof(Page), "alert", "alert('No Empty fields are allowed.');", true); 
     Txt_Dt_Inicial.Focus(); 
     return; 
    } 

UPDATE
其實,當我在第一次按下它,沒有什麼工作了......就算我輸入一個有效的日期,它是不工作。 ..我現在測試它,並且錯誤只出現,如果第一次按下按鈕時出現錯誤。
例如:
如果我輸入日期確定,那麼我的reportviewer會將我的報告結果返回給我......然後,我點擊帶有空文本框的按鈕,它會觸發錯誤並顯示消息。如果我再按一次,它會正常工作!

現在,如果我第一次按空字段的按鈕,該按鈕不再工作了!如果我刷新頁面,它只是返回工作...爲什麼? o.O
我所有的其他頁面都在運行完美。

+0

更新面板中的圖像按鈕? –

+0

@AndrewWalters是的。 – Ghaleon

+0

我看到我會做的不同的唯一事情是使用腳本密鑰的唯一ID ScriptManager.RegisterStartupScript(this.Page,this.Page.GetType(),Guid.NewGuid()。ToString(),「alert ('不允許空字段'。');「,true); 也許腳本得到緩存 –

回答

6

你的代碼應該工作,除非你在更新面板中有你的ASP控件。 如果你這樣做,然後用它來代替。

ScriptManager.RegisterStartupScript(updatePanel,updatePanel.GetType() 
                , "alert", javaScript, true); 
+1

但我一直使用這裏面'UpdatePanel'並始終工作...; s我只是不明白爲什麼只有在這種情況下的錯誤.. – Ghaleon