教程 今天做Tab選項(xiàng)卡,本來(lái)用JS+Div做好了吧,<ul></ul>里不能放層,使用我無(wú)法調(diào)用分頁(yè)類,進(jìn)行datalist分頁(yè),于是想到了AJAx控件,聽(tīng)說(shuō)用起來(lái)不錯(cuò),我就用了,哎本以為用它就可以解決我的問(wèn)題了,沒(méi)想到給我?guī)?lái)了更多的麻煩。首先它樣式改不了,是我最頭疼的事了。還有就是用了 它,JS與它就沖突了,也就是說(shuō)用了Ajax,就用不了JS了,連彈出個(gè)"Hello World“都成問(wèn)題,痛苦死我了。我查啊查啊,終于查出怎么彈窗口了,傳值,跳出框架的問(wèn)題也解決了,現(xiàn)總結(jié)如下:
Ajax 彈出新窗口
頁(yè)面上有個(gè)UpdatePanel控件吧,這樣你用不成JS了吧?
使用ScriptManager
ScriptManager.RegisterClientScriptBlock(this.up1, GetType(), "add", "window.open('Default2.aspx');", true);
this.up1 這是UpdatePanel控件的ID
最后一個(gè)參數(shù),當(dāng)有"<script language='JavaScript'></script>"這兩個(gè)標(biāo)簽時(shí),就為false,否則為true
彈出消息框:
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert("提示信息")", true);
下面這種辦法也可以啊,感興趣的可以試試
public static string _alert(string alertMessage)
{
StringBuilder _sb = new StringBuilder();
_sb.Append("<script type="text/javascript">");
_sb.Append("alert("" + alertMessage + "");");
_sb.Append("</script>");
return _sb.ToString();
}
需要導(dǎo)入using.System.Text;
頁(yè)面中這么用:
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "XXXX", className._alert("XXXX"));
唉 ,看來(lái)它與JS也挺相似的,好,我就用它傳下值試試吧,
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "test", "parent.document.location.href='MyQuestion.aspx?id=" + QuestionID + "';", true);
測(cè)試通過(guò)了。呵呵
ajax 無(wú)刷新彈出消息框
提示:可修改后代碼再運(yùn)行!