VS2005之Alert使用样式解决方案

来源:互联网 发布:怎么看服务器端口 编辑:程序博客网 时间:2024/04/29 22:08
ASP.NET使用ALERT后,影响CSS的解决方法

不要使用response.write("<script>alert('alert')</script>");这样的方法,而是使用如下:
page.RegisterClientScriptBlock("js","<script>alert('alert')</script>")
即可解决.

关于脚本提示导致字体变大问题  

做系统过程中,经常要用到提示问题,本人一般采用脚本提示,但却出现了问题,导致字体变大,现将找到的资料及分析办法写在下面:
做ASP.NET WEB开发的朋友也许都遇到过这个问题吧,页面字体突然变大!刚才上网搜集了一下,有的说:
解决办法1:
删除 <!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" >
解决办法2:
在 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
之前不要有任何输出
我用第种方法试了下,不行。我用的是 VS2005 C# ;
一般都是用Response.Write("<script language='javascript'>alert('" + "错误提示!" + "');</script>");
提示后,页面的字体就变大了,也就是CSS不管用了。
其实就是因为新的DTD规则,也就是解决办法2所说: 在 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
之前不要有任何输出,但是Response.Write恰恰是在最前面输出,所以页面字体变大了。
有的朋友说:不用Response.Write输出脚本,改用Page.RegisterStartupScript输出脚本,但是在VS2005下提示过时了。
我自己经常用的页面字体变大解决方法:
一、不用脚本的错误提示,改用隐藏的label,好像有ajax的感觉(个人觉得这样比较友好);
二、如果非要用js错误提示,就把JS写在客户端。按钮改成客户端的button,用JS判断完之后,再执行form1.submit()就OK了,因为asp.net不就是把控件都放在了form1里了呀。当然,你也可以改个名字喽。当然,如果是客户端验证的话,服务器端也最好写验证代码,要不然会遭sql注入呀!嘿嘿

我经常用的脚本就是 Response.Write("<script>alert('你的输入有误,请重新输入')</script>");这样的,在每次弹出提示后重新加载后有时会出现字体变大,原先设定的样式都变了,CSS样式没有生效,经过找资料,脚本是在加载页面的时候在客户端最先执行的,所以,CSS样式根本就没有效,故不能采用这样的脚本进行提示,于是,后来我改后下面的代码提示,就没有再出现问题了:
   ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('修改成功')</script>");