平时基本上就不用它,但是总是在页面上有那么个hidden,看着贼不爽。
重写了SavePageStateToPersistenceMedium,RegisterHiddenField这几个方法都不行,最多只能value清空。

解决方案 »

  1.   

    <@ page EnableViewState="false">
      

  2.   

    to shalen520(Love will keep us alive)
    <@ page EnableViewState="false">汗.....尽量不用服务器控件吧,用服务器控件总会有viewstate问题的
      

  3.   

    新人问一下,ViewState是用来做什么的?
      

  4.   

    用了服务器控件总会有viewstate的
    用来在服务器上保存状态
      

  5.   

    http://blog.csdn.net/rickjelly2004/archive/2005/08/22/461769.aspx
      

  6.   

    去掉viewstate好多功能无法正常使用阿
      

  7.   

    貌似,只要form是runat=server的,就有viewstate
      

  8.   

    就算重写SavePageStateToPersistenceMedium,将ViewState保存到其他位置,还是需要一个hidden来保存一个标志,用于回发之后找到之前保存的ViewState来加载视图状态
      

  9.   

    晕~
    有利总有弊的,.net就是这样了,不如你用ASP或PHP开发算了,不用服务器控件,^0^
      

  10.   

    楼上的高手们,禁用了viewstate,但还是会有个<input type="hidden" name="__VIEWSTATE" value="" />,我就是觉得它很碍眼。
    在开发中我是不需要它来保存状态的,服务器控件我也只利用它的一部分功能,比如绑定DataTable.服务器控件本身并没什么特别的,无非就是封装。
    我只是想知道有没有谁能彻底的把这个hidden干掉?
      

  11.   

    shalen520(Love will keep us alive)
    我对SavePageStateToPersistenceMedium的重写完全是用一个没有任何操作,直接返回的函数来替换原来的,我常用的方法是直接提交到iframe里面,原来的页面还在,不需要保存任何状态。
      

  12.   

    有php或jsp吧,那样就彻底把ViewState干掉了!
      

  13.   

    禁用了viewstate,但还是会有个<input type="hidden" name="__VIEWSTATE" value="" />,我就是觉得它很碍眼。
    ——————————————————————————————————————————
    那就是你自己的问题了。
      

  14.   

    呵呵,这是制度,这是asp.net的机制,你硬不要,那就是自己的问题了,除非你换一个环境活
      

  15.   

    反编译了下,在OnFormRender中输出了__VIEWSTATE这个隐藏域,不管怎样都会输出的:internal void OnFormRender(HtmlTextWriter writer, string formUniqueID)
    {
          if (this._fOnFormRenderCalled)
          {
                throw new HttpException(HttpRuntime.FormatResourceString("Multiple_forms_not_allowed"));
          }
          this._fOnFormRenderCalled = true;
          this._inOnFormRender = true;
          this.RenderHiddenFields(writer);
          if (this._viewStateToPersist != null)
          {
                if (this._formatter == null)
                {
                      this.CreateLosFormatter();
                }
                writer.WriteLine();
                writer.Write("<input type=\"hidden\" name=\"");
                writer.Write("__VIEWSTATE");
                writer.Write("\" value=\"");
                this._formatter.Serialize(writer, this._viewStateToPersist);
                writer.WriteLine("\" />");
          }
          else
          {
                writer.WriteLine();
                writer.Write("<input type=\"hidden\" name=\"");
                writer.Write("__VIEWSTATE");
                writer.Write("\" value=\"\" />");
          }
          if (this._fRequirePostBackScript)
          {
                this.RenderPostBackScript(writer, formUniqueID);
          }
          this.RenderScriptBlock(writer, this._registeredClientScriptBlocks);

      

  16.   

    这只是种方法而已,怎么能说是机制呢?照你的说法.net就只是个基于ViewState的系统?那你真是大错特错了!
      

  17.   

    shalen520老兄,多谢了!
    原来是这样的,这个写法真是变态啊!我服了,呵呵!
    看来我要改改我的洁癖了。
      

  18.   

    如果这样的话,我见议还是回到asp时代,那样的话,你写什么就有什么,肯定不会出来碍眼的玩意了 :)
      

  19.   

    什么叫asp时代?你对asp的理解有多深?
      

  20.   

    禁用了viewstate,但还是会有个<input type="hidden" name="__VIEWSTATE" value="" />,我就是觉得它很碍眼。============================================================
    用jsp/php/asp好了,就没有这个了。
    <@ page EnableViewState="false">
    汗.....尽量不用服务器控件吧,用服务器控件总会有viewstate问题的
    =====================
    不用服务器控件还用asp.net干什么?
      

  21.   

    对的,不用服务器控件你干吗要用asp.net?
    如果试图维护干净的html.你用html+javascript
    保证清洁溜溜.
      

  22.   

    VIEWSTATE还是比较好用的,如果不要求保密性的话.
      

  23.   

    我从来都看着<html>碍眼,觉得没有它也可以,但是想想有了也没有什么
      

  24.   

    <html>是完整的网页的一部分,没有它也可以是因为浏览器的容错机制,只写<td>不写</td>也是可以的,只是看着乱一点。
    碰到了感兴趣的问题就想办法解决,研究研究而已,不能解决是另外一回事,大家说点建设性的话嘛!
      

  25.   

    很简单,只要删除一行代码就可以了
    <form ... runat="server" > 删除之后就没有了,呵呵。
      

  26.   

    我不认为<html>是网页的一部分,或者我认为有了<html>那么就不应该把<htm>以外的东西再当作网页上的内容,否则就是碍眼。而不论是ie还是ff都是可以处理<html>以外的东西的,都碍眼。
      

  27.   

    哈哈,我也喜欢存html的代码,看到<% %>都感觉不爽。
      

  28.   

    那就退出.net 转向 php 吧,那里很干净就像一个处女,很纯的,
      

  29.   

    看到<$ $> 当然比<%%> 爽啦 $ 天天看,活力当然好
      

  30.   

    shalen520兄今天重写了RenderChildren方法,把这个问题搞定了.
    呵呵!