asp.net 弹出对话框 css样式丢失变乱

本文探讨了在ASP.NET应用程序中直接使用Response.Write输出<script>标签可能导致的问题,包括页面样式混乱及文档模型损坏,并提供了三种解决方法:使用Page.ClientScript.RegisterStartupScript()、页面重定向和通过Label控件输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

在页面上输出如下语句时:

Response.Write("<script></script>");

如果没有刷新或重定向会使页面样式变乱丢失.
 

原因:使用Response.Write("<script></script>");会把脚输出到页面的第一行,这样就破坏了文档的模型,它的解析就会出现问题。下面的这句必须在页面的第一行才可以。 <!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">

解决方法一:

Page.ClientScript.RegisterStartupScript( );

eg:

Page.ClientScript.RegisterStartupScript(typeof(string),"aa","<script>alert('修改成功!');</script>" );

解决方法二:

可以在BUTTON事件最后调用这个方法进行页面重定向: Response.Write("<script>window.location.href=window.location.href;<script>");

eg:Response.Write("<script>alert('修改成功!');location.href='changepassword.aspx';</script>");

这里是刷新一下页面.

解决方法三:

可以在页面上拖一个Label控件.放在页面靠上些.
然后

Lable1.Text="<script></script>";

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值