• 去掉viewstate生成的代码


    看着自己网站编译之后的源文件,里面很多乱七八糟的东西,看了就觉得不舒服

    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE3NjgxMzM0MDIPZBYCZg9kFgIC……
    

    还有form源文件,一看就知道是asp.net的页面

    <form name="form1" method="post" action="smartDropDownList.aspx" id="form1">
    

    知道博客园也是ASP.NET做的,就好奇地看看博客园的首页源文件,发现没有这些玩意,后来问了下别人,网上也找了点资料;

    总结了一下自己的想法:

    1、如果你的一个页面没有什么复杂的数据交互,例如登录你可以改用成ajax的登录,单条新闻界面也可以去掉,如果有留言也可以采用ajax的方式去完成!

    2、后台管理页面,数据交互性一般都有点复杂,我就觉得没有什么必要去掉哪些东西了,反正后台对SEO没有任何影响,我好奇地看了看博客园的后台也是有的

    不废话了,直接贴代码,在你的页面代码中加上如下函数

    View Code
     1 protected override void Render(HtmlTextWriter writer)
    2 {
    3 System.IO.StringWriter html = new System.IO.StringWriter();
    4 System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html);
    5 base.Render(tw);
    6 string Temp = html.ToString();
    7 string s1 = string.Empty, s2 = string.Empty, s3 = string.Empty, s4 = string.Empty, s5 = string.Empty, s6 = string.Empty;
    8 int i = 0;
    9 int j = 0;
    10
    11 i = Temp.IndexOf("<form");
    12 if (i > 0)
    13 {
    14 j = Temp.IndexOf(">", i);
    15 s1 = Temp.Substring(0, i);
    16 s2 = Temp.Substring(j + 1, Temp.Length - j - 1);
    17 }
    18
    19 i = s2.IndexOf("<input type=\"hidden\" name=\"__VIEWSTATE\" id=\"__VIEWSTATE\"");
    20 if (i > 0)
    21 {
    22 j = s2.IndexOf(">", i);
    23 s3 = s2.Substring(0, i);
    24 s4 = s2.Substring(j + 1, s2.Length - j - 1);
    25 }
    26
    27 i = s4.IndexOf("<input type=\"hidden\" name=\"__EVENTVALIDATION\" id=\"__EVENTVALIDATION\"");
    28 if (i > 0)
    29 {
    30 j = s4.IndexOf(">", i);
    31 s5 = s4.Substring(0, i);
    32 s6 = s4.Substring(j + 1, s4.Length - j - 1);
    33 Temp = s1 + s3 + s5 + s6;
    34 }
    35 else
    36 {
    37 Temp = s1 + s3 + s4;
    38 }
    39 Temp = Temp.Replace("</form>", "");
    40 Temp = Temp.Replace("\r\n", "");
    41 tw.Close();
    42 Response.Write(Temp);
    43 }

    其实就是重写了Render方法,然后截取html源文件就能解决了,更具自己的情况去使用,觉得好用就用下!

    如果你觉得简单,或者不屑,不要,有问题请拍砖,谢谢!
    版权所有,转载请注明出处!

    一切伟大的行动和思想,都有一个微不足道的开始。微不足道的我,正在吸取知识的土壤,希望能取得成功!不嫌弃我微不足道的,愿交天下好友!

  • 相关阅读:
    iOS之POST与GET的优缺点
    iOS之设置头像(访问系统相册、本地上传)
    iOS之清除缓存
    iOS之自动调节输入文本框的高度
    iOS之隐藏键盘的方式
    iOS之关于 srand() 和rand()
    Android Studio移除模块
    Android 弹出输入框
    webApi添加视图出现/Index.cshtml”处的视图必须派生自 WebViewPage 或 WebViewPage<TModel>。
    JSON Web Tokens简单学习
  • 原文地址:https://www.cnblogs.com/cmsdn/p/2285137.html
Copyright © 2020-2023  润新知