无意中有了这个疑问,大家来探讨一下。
分析这个页面http://office.microsoft.com/zh-cn/clipart/FX101321032052.aspx?pid=CL100570202052,
发现,
1、这个页面有多个form,大家都知道asp.net页面中只能使用一个form。它如何做到的?
2、它的html中为什么没有类似<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzNDMwNTMzZGT699ReLXzvK2CEwOHbppVZqBfzSw==" />这样的代码?

解决方案 »

  1.   

    1.ASP.NET本来就可以多FORM的啊,你加几个FORM试一下,然后ACTION到几个页面。
    2.禁用VIEWSTATE不就没了嘛
      

  2.   

    有点失准了,其实我该说:页面中只能使用一个服务器端form。但
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" EnableViewState="false" %>
    <!--禁用VIEWSTATE了--><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        </form>
        <form id="form2" >
        </form>
    </body>
    </html>还是有啊?
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head><title>
    无标题页
    </title></head>
    <body>
        <form name="form1" method="post" action="Default.aspx" id="form1">
    <div>
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzNDMwNTMzZGT699ReLXzvK2CEwOHbppVZqBfzSw==" />
    </div>    </form>
        <form id="form2" >
        </form>
    </body>
    </html>
      

  3.   

    只要多form不互相嵌套就可以了。他的页面可能是直接套模板生成的。
      

  4.   

    多form已经明白了,可能它用的是一个asp.net中的form,其他是html的form,但隐藏字段如何去掉的?