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
相关文章
|
7月前
|
JavaScript 前端开发
JavaScript时间戳获取及时间戳判断(同时设置不同的颜色。已开始的事件显示绿色,未开始的事件显示黑色,过去的事件显示灰色)
JavaScript时间戳获取及时间戳判断(同时设置不同的颜色。已开始的事件显示绿色,未开始的事件显示黑色,过去的事件显示灰色)
50 0
|
10月前
|
UED
改变鼠标指针样式的方法【项目优化——cursor】
改变鼠标指针样式的方法【项目优化——cursor】
|
11月前
element close事件关闭表单,数据替换掉原始列表的数据bug解决
element close事件关闭表单,数据替换掉原始列表的数据bug解决
40 0
javascrip 修改元素属性 - 切换图片
javascrip 修改元素属性 - 切换图片
58 0
javascrip 修改元素属性 - 切换图片
|
JavaScript 前端开发
jquery设置cursor的属性改变光标的类型(形状)
jquery设置cursor的属性改变光标的类型(形状)
|
JavaScript 小程序
小程序在js设置data,循环点击改变tab的颜色
小程序在js设置data,循环点击改变tab的颜色
230 0
小程序在js设置data,循环点击改变tab的颜色
|
前端开发
CSS样式更改——裁剪、Z-Index、清除、改变元素的特性
CSS样式更改——裁剪、Z-Index、清除、改变元素的特性
149 0
|
前端开发 Web App开发 JavaScript