易截截图软件、单文件、免安装、纯绿色、仅160KB

Asp.Net与SEO Viewstate优化终极解决方案

这段时间,老大在看了网站后,发现viewstate所产生的一堆乱码,严重影响了我们网站http://www.xbcar.net 西部汽车网的打开速度和搜索引擎的抓取.就给我下了道铁令,三天内必须解决.这下该轮到我头大了, 
 
例如:
input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="dEV4cHJlc3Npb247UmVhZE9ubHk7PjtsPHB1Yl9uYW1lO3B1Yl9uYW1lO3B1Yl9uYW1 lO288Zj47Pj47Ozs7PjtAMDxw" />
我立马翻遍了所有的资料,及查遍了百度和Google。以求得到最佳解决方案。但都没有一个完整的解决方案。都写的比较零碎。但黄天不负有心人,最终还是让我找到了几种方案,并加以修改,改进。在此我要感谢这几个方案的提供者。谢谢他们的分享,在解决完我自己的问题后,有感于前几位的分享,故我也不敢独自分享,现在总结七种解决方案如下,以供大家分享,有不对的地方欢迎拍砖。现把ViewState的优化方法总结如下:
第一种解决方案(最快的一种,但是以牺牲asp.net方便性为代价的)西部汽车网
禁用viewstate。可在web.config里配置,或者页面@Page指令里加入 Enableviewstate="false" ,即可防止上面的乱码了。然后页面传值使用form或者cookies,别用session和application他们都是服务器杀手,但这种方式灵活度不高,而且微软自带的控件无法使用了,不如用JSP来做
第二种解决方案:
使用微软的MVC框架,很好用,不过个人感觉开发起来蛮麻烦的,不推荐也不抵触,觉得还不成熟这个东西
第三种解决方案:
使用ajax+web services来搞定,推荐这种方法,真正的页面代码和业务代码分离,很爽,虽然有些烦琐编码的时候,不过感觉很爽。
第四种解决方案:(改写viewSate位置,不对这种方法要每个cs代码都加入重写内容,有点烦。当然可以重写个父类可以解决。但每次都要重写,所以也会增加对服务器开销。好,不多说了,现代码贴上)
要加入using System.Text.RegularExpressions;
  private static readonly Regex viewStateRegex =
            new Regex("<input type=\"hidden\" name=\"__VIEWSTATE\".*/>", RegexOptions.IgnoreCase); //过滤viewstate html标记的正则表达式
        private static readonly Regex endFormRegex =
            new Regex(@"</form>", RegexOptions.Multiline | RegexOptions.Compiled); //过滤 </form&g


相关文档:

asp.net母版页使用控件时,控件中路径问题

刚刚在headmenu控件里面写了一个导航条,用到了本地的图片,在控件中显示良好,可是放到母版式页后,发现导航条背景图片没了,于是仔细检查了下图片的url,我用的是绝对路径,难道放在主页上后,路径也改变了,上网查了下,还真是这个问题,图片在控件里面看不到没关系,关键是要在母版式页能看到就行,路径都要根据母版页的写. ......

发布asp.net应用程序

对于开发者自身的机器来讲,可能程序运行不会有任何问题,但关键是,程序往往要发布到用户的机器上,如果用户有专门的服务器,那另当别论,但如果用户只是想用一台普通不能在普通的办公机器当服务器的话,发布程序,可能就要做的事情多一些:
1、首先检查系统有没有安装iis,如果没有,要上网下载iis的安装包,通过“ ......

ASP.NET编程模型之ASP.NET页面生命周期图解

ASP.NET编程模型之ASP.NET页面生命周期图解
ASP.NET编程模型中ASP.NET页面生命周期是指什么呢?它包括什么呢?ASP.NET编程模型之ASP.NET页面生命周期具体的过程有哪些呢?下面就开始我们的讲解吧:
ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和 ......

asp.net中用法总结——个人

1:在.aspx页面,<% %>标签相当于在.cs页面的代码,也就是说你在.cs文件里面怎样写,就可以在.aspx文件里面的<% %>标签里面怎样写。
2:在.aspx页面,<%= %>标签可以调用你的后台的变量或者方法等,不过被调用的方法必须是public的。
如果你的Default.cs文件里面有:
public string str = "调用后台方 ......

asp.net 顯示UniCode特殊字符

­1. Web.config中添加:
     <globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
2. 頁面中添加:
    <head>
     <meta http-equiv="Content-Type" content="charset=utf-8&qu ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号