读者阿木询问使用 ASP.NET AJAX Control Toolkit 的网页是否一定要使用 UTF-8 编码

Posted petewell

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读者阿木询问使用 ASP.NET AJAX Control Toolkit 的网页是否一定要使用 UTF-8 编码相关的知识,希望对你有一定的参考价值。

摘要:读者阿木询问使用 ASP.NET AJAX Control Toolkit 的网页是否一定要使用 UTF-8 编码


问题:

请问老师
使用ASP.NET.AJAX.Control.ToolKit技术
网页编码是不是一定要是utf-8

解答:

当您在 ASP.NET 网页中使用 AJAX Control Toolkit (于撰写此文时,最新版本为 2007 年 11 月 19 日所发行的 Version 1.0.11119.0)内建的 ToolkitScriptManager 控件来取代 AJAX Extensions 的 ScriptManager 控件时,再加上网页编码不是采用默认的 UTF-8,那么于 IE 浏览器检视该网页时,便会出现如图表 1 与图表 2 所示的错误消息。奇怪的是,在 FireFox、Opera 等浏览器却不会发生这个错误消息。

技术图片
图表 1

技术图片
图表 2


欲解决这个问题,请采用下列几种方式:

1. 不使用 ToolkitScriptManager 控件,改用 ScriptManager 控件。但是这就失去使用 ToolkitScriptManager 控件的优势,原因请参考:http://blog.xuite.net/alwaysfuturevision/liminzhang/12252163。
2. 依旧使用 ToolkitScriptManager 控件,但要修改 web.config 里关于全球化区块的设定,将处理地区设定相关资源搜寻的默认文化特性之属性 uiCulture,设定为 en,如下所示即是一例:


???
??????? ??????????? fileEncoding="big5" requestEncoding="big5" responseEncoding="big5"
??????????? culture="zh-TW" uiCulture="en" />
???


?
3. 修改 AJAX Control Toolkit 的源代码,开启方案档 AjaxControlToolkit.sln,然后开启 ToolkitScriptManager.cs (位于 AjaxControlToolkit 项目下的 ToolkitScriptManager 目录中),移至第 260 行程序,将原本的程序:

using (StreamWriter outputWriter = new StreamWriter(outputStream))

改写成:

using (StreamWriter outputWriter = new StreamWriter(outputStream, context.Response.ContentEncoding))

接着按下“建置”功能表中的“建置 AjaxControlToolkit”命令,于建置完毕之后,将重新编译过的 AjaxControlToolkit.dll 与所需的各语言之 AjaxControlToolkit.resources.dll 复制到您的项目或网站中。


附注:
您必须下载内含程序的 AjaxControlToolkit.zip,才能使用方法 3。

章立民研究室 2008/1/20

原文:大专栏  读者阿木询问使用 ASP.NET AJAX Control Toolkit 的网页是否一定要使用 UTF-8 编码

































以上是关于读者阿木询问使用 ASP.NET AJAX Control Toolkit 的网页是否一定要使用 UTF-8 编码的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET使用Gridview显示不出数据

ASP.NET 使用Ajax

用户在 ASP.NET Core Identity 中打开设置页面时如何询问密码?

ASP.NET 成员资格 - 通过询问旧密码来更改密码

浅析Asp.net MVC 中Ajax的使用

Asp.net 使用 Ajax 上传多个文件