評價: 0 回應: 1 閱覽: 112
置頂

Viewstate問題

請問,用ASP.NET開發的網站在原始碼當中,有一長串的Viewstate,好像網站開啟速度都變慢,有甚麼解法嗎?

熱門回應

看樣子,你應該是SEO從業人員吧!?

我分享我的經驗給你,Viewstate有兩種方式來處理,第一種是直接把Viewstate這個功能關掉,第二種是將Viewstate這一長串的原始碼往後移,通常我都是選擇第二種做法啦,因為第一種做法可能也無法真正的關閉,所以第二種是比較保險一點的做法﹔

將以下原始碼貼入web.config內就可以囉

protected override void Render(System.Web.UI.HtmlTextWriter writer)

    {

        StringWriter sw = new StringWriter();

        HtmlTextWriter hw = new HtmlTextWriter(sw);

        base.Render(hw);

        string html = sw.ToString();

        hw.Close();

        sw.Close();

        int start = html.IndexOf(@"<input type=""hidden"" name=""__VIEWSTATE""");

        if (start > -1)

        {

            int end = html.IndexOf("/>", start) + 2;

            string strviewstate = html.Substring(start, end - start);

            html = html.Remove(start, end - start);

            int formend = html.IndexOf(@"</form>") - 1;

            html = html.Insert(formend, strviewstate);

        }

        writer.Write(html);

    }
 
會員登入 (先登入會員才能回覆留言喔!)

Facebook留言