2012-09-13 30 views
1
protected void ddlLanguage_SelectedIndexChanged(object sender, EventArgs e) 
{   
    if (ddlLanguage.SelectedValue=="es-ES") 
    { 
     Page page = HttpContext.Current.CurrentHandler as Page; 

     page.ClientScript.RegisterStartupScript(typeof(Page), "Script", "<script language='javascript'>alert('All content may not be in Spanish. Do you want to continue...');</script>");    
    } 
} 

我想要做的就是顯示一個簡單的警報框,但都是徒勞的......沒有任何東西彈出。需要一些ayudar。來自asp.net 3.5的警報框代碼隱藏

+1

確定該網頁實際上是做了回發? ddlLanguage上AutoPostBack設置爲true嗎? – matk

+0

AutoPostBack =「True」是的.. – Scorpio

+0

你的代碼有幾個問題,但最突出的是你要用'alert'確認。爲此,您需要使用'confirm' – Icarus

回答

2

您需要驗證啓動腳本是否尚未註冊。退房this post.

也可以在ASP.NET中構建自定義MessageBox。退房this one

2

您也可以實現這樣

protected void ddlLanguage_SelectedIndexChanged(object sender, EventArgs e) 
{   
    if (ddlLanguage.SelectedValue=="es-ES") 
    {   
     Response.Write("<script>alert('All content may not be in Spanish. Do you want to continue...');</script>");    
    } 
} 
+0

,似乎是一個簡單的修復,它的工作原理。但有沒有什麼好的做法s做這個.. – Scorpio

+0

@Scorpio我用了很多次,沒有任何問題 –

+0

目前當警告框顯示時,背景變黑。是否有可能讓我的網站保持在後臺,並在其上方顯示此警報框。 – Scorpio

0

ScriptManager.RegisterStartupScript(this.Page,this.GetType(), 「showalert」, 「警報消息」,真正的);

這對我的作品沒有回傳 試試這個