教程 今天做Tab选项卡,本来用JS+Div做好了吧,<ul></ul>里不能放层,使用我无法调用分页类,进行datalist分页,于是想到了AJAx控件,听说用起来不错,我就用了,哎本以为用它就可以解决我的问题了,没想到给我带来了更多的麻烦。首先它样式改不了,是我最头疼的事了。还有就是用了 它,JS与它就冲突了,也就是说用了Ajax,就用不了JS了,连弹出个"Hello World“都成问题,痛苦死我了。我查啊查啊,终于查出怎么弹窗口了,传值,跳出框架的问题也解决了,现总结如下:
Ajax 弹出新窗口
页面上有个UpdatePanel控件吧,这样你用不成JS了吧?
使用ScriptManager
ScriptManager.RegisterClientScriptBlock(this.up1, GetType(), "add", "window.open('Default2.aspx');", true);
this.up1 这是UpdatePanel控件的ID
最后一个参数,当有"<script language='JavaScript'></script>"这两个标签时,就为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();
}
需要导入using.System.Text;
页面中这么用:
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "XXXX", className._alert("XXXX"));
唉 ,看来它与JS也挺相似的,好,我就用它传下值试试吧,
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "test", "parent.document.location.href='MyQuestion.aspx?id=" + QuestionID + "';", true);
测试通过了。呵呵
ajax 无刷新弹出消息框
提示:可修改后代码再运行!