.net使用靜態(tài)刷新控件ScriptManager和UpdatePanel無(wú)法彈出窗口如何解決
如果在頁(yè)面里面用到了ScriptManager,里面再放個(gè)更新面板,那客戶端的彈出對(duì)話框就不起作用了。
例如:
Page.ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('添加信息成功!');</script>");
這句驗(yàn)證就失去了作用。
那就要到以下的:
ScriptManager.RegisterStartupScript(this.btnOK,this.GetType(),"alert","alert('添加信息成功!');",true);
第一個(gè)參數(shù):是哪個(gè)按鈕要使用的這個(gè)JS。
最后一個(gè)參數(shù):使用了true,所以前面的js里面就不能添加</script>。添加就會(huì)出錯(cuò)的。
UpdatePannel中彈窗這樣寫(xiě):
Stringcstext1=String.Format("alert('{0}');","查詢(xún)到1233條數(shù)據(jù)!");
ScriptManager.RegisterClientScriptBlock(UpdatePanel1,UpdatePanel1.GetType(),"message",cstext1,true);
在.NET WEB應(yīng)用上彈出消息框,我試驗(yàn)成功的有下面的幾種,若有其他方法,望您不吝賜教。
1.只彈出提示消息。
方法一:
string script = "<script> alert('刪除成功!') </script>"; Page.RegisterStartupScript("",script);
方法二:
Response.Write("<script>alert('刪除成功!')</script>");
方法三:
同下面的方法一。
2.需要用戶確定的彈出消息。
方法一:
添加引用System.Windows.Forms.dll
添加命名空間using System.Windows.Forms;(然后可能需要重新生成一下文件)
然后同Winform里的MessageBox一樣了(MessageBox.Show(參數(shù)1,......));
例: if (MessageBox.Show("你確定要?jiǎng)h除?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes){} else{}
方法二:
在Page_load()或其他合適地方為按鈕添加新的屬性:
btnDeleteAdmin.Attributes.Add("onclick", "return confirm('你確認(rèn)要?jiǎng)h除嗎?')");
經(jīng)常遇到這樣的問(wèn)題:便用Response.write()方法常常會(huì)導(dǎo)致頁(yè)面布局改變,原因是因?yàn)閟cript腳本改變了布局的CSS樣式,可以使用客戶端注冊(cè)腳本,這樣會(huì)解決頁(yè)面變型的問(wèn)題!
各種打開(kāi)新頁(yè)面的方式總結(jié)
推薦使用方法
【1】Page.RegisterStartupScript("ServiceManHistoryButtonClick", "<script>window.open('" + url + "');</script>");
【2】 Page.RegisterStartupScript("", "<script>alert('投票成功,感謝您的參與!')</script>");
【0】最常用的打開(kāi)方式
Response.Write("<script language='javascript'>window.open('"+ url+"');</script>");
【1】直接轉(zhuǎn)向新的頁(yè)面,原窗口被代替;
Response.Redirect("XXX.aspx",true)
【2】原窗口保留,另外新增一個(gè)新頁(yè)面;Response.Write("<script>window.open('XXX.aspx','_blank')</script>")
【3】打開(kāi)新的頁(yè)面,原窗口被代替;
Response.Write("<script>window.location='XXX.aspx'</script>")
【4】打開(kāi)新的頁(yè)面;
Server.Transfer("XXX.aspx")
說(shuō)明,常用于傳遞session變量的頁(yè)面跳轉(zhuǎn)!
【5】原窗口保留,以對(duì)話框形式打開(kāi)新窗口;
Response.Write("<script>window.showModelessDialog('XXX.aspx')</script>")
【6】對(duì)話框形式打開(kāi)新窗口,原窗口被代替;
Response.Write("<script>window.showModelDialog('XXX.aspx')</script>")
【7】打開(kāi)簡(jiǎn)潔窗口Respose.Write("<scriptlanguage='Javascript'>window.open('"+url+"','','resizable=1,scrollbars=0,status=1,menubar=no,toolbar=no,location=no, menu=no');</script>");
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注