服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP.NET教程 - aspx不显示ViewState的实例

aspx不显示ViewState的实例

2019-10-30 16:13asp.net教程网 ASP.NET教程

重写Render方法,来去掉ViewState,提高网站的性能

代码如下:


System.IO.StringWriter html = new System.IO.StringWriter();
             System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(html);
             base.Render(tw);
             string Temp = html.ToString();
             string s1 = string.Empty, s2 = string.Empty, s3 = string.Empty, s4 = string.Empty, s5 = string.Empty, s6 = string.Empty;
             int i = 0;
             int j = 0;

             i = Temp.IndexOf("<form");
             if (i > 0)
             {
                 j = Temp.IndexOf(">", i);
                 s1 = Temp.Substring(0, i);
                 s2 = Temp.Substring(j + 1, Temp.Length - j - 1);
             }

             i = s2.IndexOf("<input type=\"hidden\" name=\"__VIEWSTATE\" id=\"__VIEWSTATE\"");
             if (i > 0)
             {
                 j = s2.IndexOf(">", i);
                 s3 = s2.Substring(0, i);
                 s4 = s2.Substring(j + 1, s2.Length - j - 1);
             }

             i = s4.IndexOf("<input type=\"hidden\" name=\"__EVENTVALIDATION\" id=\"__EVENTVALIDATION\"");
             if (i > 0)
             {
                 j = s4.IndexOf(">", i);
                 s5 = s4.Substring(0, i);
                 s6 = s4.Substring(j + 1, s4.Length - j - 1);
                 Temp = s1 + s3 + s5 + s6;
             }
             else
             {
                Temp = s1 + s3 + s4;
             }
             Temp = Temp.Replace("</form>", "");
             Temp = Temp.Replace("\r\n", "");
             tw.Close();
             Response.Write(Temp);             

延伸 · 阅读

精彩推荐