Response.Write()语句造成页面布局改变以及字体变化的解决办法

简介:

这个折腾了我一天。。。。

 

 

Response.Write()语句造成页面布局改变以及字体变化的解决办法

比方说在页面里面有个LinkButton,要点击以后要打开新窗口,而且新窗口的URL是根据用户选择结果动态产生的。LinkButton的代码这样写:
    protected void ServiceManHistoryButton_Click(object sender, EventArgs e)
    {
        Response.Write("<script>window.open('EquipmentHistory.aspx?eid=" + ServiceManDropDownList.SelectedValue + "');</script>");
     }
运行以后会发现,新窗口是打开了,但是原来页面的字体变大了,奇怪的问题!
有人想也不想就说是CSS没设置好,实际原因是直接Response.write输出脚本代码到顶部,打乱了文档模型,所以造成了这样的结果。

解决方法有两个。

方法一:把Response.Write()语句替换为这个

Page.RegisterStartupScript("ServiceManHistoryButtonClick", "<script>window.open('EquipmentHistory.aspx?eid=" + ServiceManDropDownList.SelectedValue + "');</script>");

这个方法用于在页响应中发出客户端脚本块,前一个参数是该Script在页面中的唯一名称(随便起,不重复就行),后一个是脚本内容。

这个方法应该是微软官方推荐的方法。

方法二:在原程序的Response.Write()语句后再加一句

Response.Write("<script>document.location=document.location;</script>");

想出这个办法的人真高!(转)
本文转自kenty博客园博客,原文链接http://www.cnblogs.com/kentyshang/archive/2012/11/16/2772912.html如需转载请自行联系原作者

kenty
相关文章
|
2月前
|
前端开发
HTML 颜色的不用写法和最终显示效果的区别
HTML 中色彩的指定有多种方式,包括十六进制(如 `#FF5733`)、RGB(如 `rgb(255, 87, 51)`)、RGBA(如 `rgba(255, 87, 51, 0.5)`)、HSL(如 `hsl(14, 100%, 60%)`)、HSLA(如 `hsla(14, 100%, 60%, 0.5)`)以及直接使用颜色名称(如 `orange`)。这些方法虽然最终显示效果可能相同,但在使用场景和灵活性上各具优势。十六进制和 RGB 更常用,HSL 则便于调整颜色属性,而 RGBA 和 HSLA 增加了透明度选项,颜色名称则提高了代码的可读性。
改变鼠标指针样式的方法【项目优化——cursor】
改变鼠标指针样式的方法【项目优化——cursor】
115 0
element close事件关闭表单,数据替换掉原始列表的数据bug解决
element close事件关闭表单,数据替换掉原始列表的数据bug解决
75 0
javascrip 修改元素属性 - 切换图片
javascrip 修改元素属性 - 切换图片
75 0
javascrip 修改元素属性 - 切换图片
|
Web App开发 移动开发 前端开发
巧用 display: contents 增强页面语义
巧用 display: contents 增强页面语义
392 1
|
JavaScript 小程序
小程序在js设置data,循环点击改变tab的颜色
小程序在js设置data,循环点击改变tab的颜色
258 0
小程序在js设置data,循环点击改变tab的颜色
|
前端开发
CSS样式更改——裁剪、Z-Index、清除、改变元素的特性
CSS样式更改——裁剪、Z-Index、清除、改变元素的特性
178 0
|
前端开发 Web App开发 JavaScript