欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【asp.net 里 include UTF8 垃圾问题】,下面是详细的分享!
asp.net 里 include UTF8 垃圾问题
暂且不讨论为什么要用 SSI,而不用其它技术(如 UserControl)
生成 index.shtml 肯定要带 BOM,其实带不带也不会影响页面上会出现空白行。
index.shtml 内容如下:
< html>
< body>
< !--#include file="head.shtml"-->
< /body>
< /html>
1、head.shtml 保存为 UTF-8 带 BOM 时,会出现空白行(页面元素当然不止这些)。
2、head.shtml 保存为 UTF-8 不带 BOM 时,会出现乱码,因为 SSInc.dll 加载这个文件时,不知道文件的编码(因为没有 BOM 签名),因此会按 GBK 来加载文件,最后乱码。。。
所以,正也不行,反也不行,只有最后一招了,也是迫不得已。。
改 index.shtml 为:
< html>
< body>
< !--< !--#include file="head.shtml"-->
< /body>
< /html>
在 head.shtml 的页开头加上
< !--BOM-->
内容
意图 将 < !--#include 前的 < !-- 和 head.shtml 里的 BOM--> 用HTML注释掉,在 asp 下应该没有问题。
2年前,用 asp.net include 就发现一个问题,就是它的解释方法和 asp 完全不同,不信可以试试
< !--< !--#include file="head.shtml"-->执行结果等效于
< !--#include file="head.shtml"-->
又试了半个小时,几近绝望,被 IE 这个小小的问题折磨。一阵乱试后发现
< !--#< !--#include file="head.shtml"-->
被忽略,暂时这样吧,期待更好的解决方案。。
以上所分享的是关于asp.net 里 include UTF8 垃圾问题,下面是编辑为你推荐的有价值的用户互动:
相关问题:asp.net为什么要返回那么垃圾代码?
答:你好,可以,如果你使用过多的服务器控件,会自动的生成隐藏的视图,里面保存了你页面中的控件状态,便于页面会送。 如果你不想页面生成那个_VIEWSTSTE 那么你完全可以使用html元素进行编程,如果你要使用类似Gridviw这样的控件 生成垃圾代码是... >>详细
相关问题:大家帮我看看这个关于asp.net垃圾回收错误如何解决??
答:你直接调用 Dispose();之后就别写代码了。 C#的垃圾回收是用户简介可控的。你调用 Dispose()以后,就是声明了资源可以被回收。什么时候回收有CLR决定。 可能是这样吧,我是菜鸟,瞎说。 >>详细
相关问题:如何去掉asp.net里面自动生成的垃圾代码?
答:具体指的是哪些?个人认为C#创建的时候生成的垃圾东西不是很多 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
