关于ASP.NET中用Response.Write()方法响应导致页面字体变大的问题


Posted on February 22, 2008


比方说在页面里面有个LinkButton,要点击以后要打开新窗口,而且新窗口的URL是根据用户选择结果动态产生的。LinkButton的代码这样写:

protected void ServiceManHistoryButton_Click(object sender, EventArgs e)
{
 Response.Write("<script>window.open('xxx.html')");
}

 运行以后会发现,新窗口是打开了,但是原来页面的字体变大了,奇怪的问题!

有人想也不想就说是CSS没设置好,对这些人我很无语,求教的时候最怕遇到他们。

实际原因是直接Response.write输出脚本代码到顶部,打乱了文档模型,所以造成了这样的结果。

OK,解决方法有两个。

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

Page.RegisterStartupScript("ServiceManHistoryButtonClick", "<script>window.open('xxx.html')");

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

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

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

想出这个办法的人真高!


标签:.NETasp.net

其它推荐日志:

C#编码标准--编码习惯(转)

IE7使用FCK出现this.linkedfield.value的问题(PHP)

打到一个很有用的的显IP代码!分享一下!

include,include_once和require,require_once的根本区别

在ASP.NET中发邮件!

技巧:Adobe CS3安装程序在2003和XP SP1下无法安装的解决办法

利用Mircosoft的URLRewriter.dll实现页面伪静态

PHP 文件上传

IE8引发VS2005/2008向导出错的解决方案

System.UnauthorizedAccessException: 拒绝访问

IIS添加下载文件类型的方法

System.Data.OleDb.OleDbException: 未指定错误

WinRAR 3.70 Final

关于ASP.NET中用Response.Write()方法响应导致页面字体变大的问题

将VIEWSTATE保存在服务器端,减少网络传输负载

UML--状态图

IIS HTTP 500 内部服务器错误 服务器无法加载应用程序 ''/LM/W3SVC''''/LM/W3SVC'' ''找不到指定的元数据

Substring的一个误区!

必须学会的几个网络测试命令

关于mscorsvw.exe进程

setjmp和longjmp函数使用详解

aspnet遇到的乱码问题!

如何用c#发邮件

sql2000挂起无法安装的问题

VS2003/VS2005 常用快捷键

如何理解LPCTSTR

.sln文件和.suo文件的解释

windows也能拥有Vista 侧边栏效果

“操作必须使用一个可更新的查询”原因及解决办法

GC是什么? 为什么要有GC?

测智商

PHP计算字符串长度(中文问题)

透明PNG在IE6下的官方解决方案

c#中String跟string的“区别”

以太网的最小帧长为什么是64字节

什么是WINPE系统?

C语言中的main函数参数及返回值

IE7启动时总打开runonce2.aspx的解决办法

SyntaxHighlighter, a fully functional self-contained code syntax highlighter!

关于“System.NullReferenceException: 未将对象引用设置到对象的实例”问题原因


Search
最新评论
推荐日志
微信扫一扫