asp。net从服务器向客户端弹出对话框后,页面变白,布局变动的解决方法,在cs类中加入这个函数:
/// <summary>
/// 弹出对话框
/// </summary>
/// <param name="page">要弹出对话框的页面,本页用this.Page</param>
/// <param name="values">弹出的内容</param>
public void WebMessageBox(System.Web.UI.Page page, string values)
{
page.Clientscrip去掉t.RegisterStartupscrip去掉t(page.GetType(), "", "<scrip去掉t language=javascrip去掉t>alert('" + values + "')</scrip去掉t>");
}
使用的时候调用这个函数即可,如下:
if (string.IsNullOrEmpty(strTemp))
{
sc = new StrControl();
sc.WebMessageBox(this.Page,"搜索内容不能为空");
}
这样的话就不会有页面变白和CSS样式失效了。
原因:因为这样写的话,页面的源代码是在页面的最后加上这样的几句代码:
<scrip去掉t language=javascrip去掉t>alert('搜索内容不能为空')</scrip去掉t></form>
</body>
</html>
下面有一个方法可以解决页面变白问题,但是CSS样式会失效,结果如下,因为生成的页面源代码是在页面的最顶部:
1、后台代码
if (string.IsNullOrEmpty(strTemp))
{
Response.Write("<scrip去掉t >function window.onload() {alert('搜索不能为空!');}</scrip去掉t>");
}
2、前台代码
<scrip去掉t >function window.onload() {alert('搜索页面不能为空!');}</scrip去掉t>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title>
<link href="Styles/reset.css" rel="stylesheet" type="text/css" /><link href="Styles/head_css.css" rel="stylesheet" type="text/css" />
<scrip去掉t src="../scrip去掉ts/jquery-1.7.2.min.js" type="text/javascrip去掉t"></scrip去掉t>
<scrip去掉t src="../scrip去掉ts/Default.js" type="text/javascrip去掉t"></scrip去掉t>
</head> |