系统环境:XPsp2 + VS2005
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="FRM_test.aspx.vb" Inherits="Default2" %><html>
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
        <form id="form2" action="001.aspx" method="post" >
            <div>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" runat="server" Text="Button" />
            </div>
        </form>
    
        <form id="form3" action="002.aspx" method="post" >
            <div>
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            <asp:Button ID="Button2" runat="server" Text="Button" />
            </div>
        </form>
    </form>
</body>
</html>
===========================================================
点击Button1 出现:
回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentException: 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  堆栈跟踪: 
[ArgumentException: 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。]
   System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +260
   System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) +83
   System.Web.UI.Control.ValidateEvent(String uniqueID) +35
   System.Web.UI.WebControls.TextBox.LoadPostData(String postDataKey, NameValueCollection postCollection) +39
   System.Web.UI.WebControls.TextBox.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) +36
   System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +479
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2547 
Button2正常 啊啊 

解决方案 »

  1.   

    asp.net 里1个液面只能有一个 FORM 吧
      

  2.   

    <form id="form1" runat="server">
                   </form> <form id="form2" action="001.aspx" method="post" >
                <div>
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                <asp:Button ID="Button1" runat="server" Text="Button" />
                </div>
            </form>        <form id="form3" action="002.aspx" method="post" >
                <div>
                <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                <asp:Button ID="Button2" runat="server" Text="Button" />
                </div>
            </form>
      

  3.   

    顺便说一下:完全没有不要使用多个form
    修改成以前做东西的观念
      

  4.   

    顺便说一下:完全没有必要使用多个form
    修改成以前做东西的观念
      

  5.   

    form不能嵌套,并且runat="server" 的form只能有一个
      

  6.   

    以前是用asp的 现在用.net一时还有点不习惯 啊啊
      

  7.   

    如果你打算设计大软件,从现在起以开发ascx为主。aspx只是临时拼凑各种控件,设置一下。例如开发一个政府网站,把已经开发好的“导航、栏目列表、文章展示、调查表、评论录入、天气”等ascx拖入aspx,只要几分钟就定制出一个页面。
      

  8.   

    sp1234(与其赌博赚钱,不如自己开赌场) ( ) 信誉:98  2007-07-24 14:42:13  得分: 0  
     
     
       如果你打算设计大软件,从现在起以开发ascx为主。aspx只是临时拼凑各种控件,设置一下。例如开发一个政府网站,把已经开发好的“导航、栏目列表、文章展示、调查表、评论录入、天气”等ascx拖入aspx,只要几分钟就定制出一个页面。
      
     
    ---------
    3X,受教了
      

  9.   

    <form id="form3" action="002.aspx" method="post" >
                <div>
                <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                <asp:Button ID="Button2" runat="server" Text="Button" />
                </div>
            </form>server control要放在server form里必须的