none
asp如何兼容两个form RRS feed

答案

  • 你好,

    首先,asp.net webform页面只能有一个runatserver的form。所有和codebehind的事件绑定的控件必须在这个唯一的runatserver的form里面。

    所以你会发现我的代码是只有一个runateserver的form。在另一个form我是call了另一个页面。

    你所说的页面有2个runatserver的form是不可能的。

    如果你实在想做这种效果。

    一个workaround是设计2个aspx页面。

    然后在主页面里面使用iframe填充这两个页面。

    最后,我并不建议把多个form混合在同一个页面上。


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 流星枪 2018年1月24日 15:39
    2018年1月24日 2:21

全部回复

  • 你好,

    据我所知,在asp.net中只能有一个runatserver的form。多个表单的时候,把其它的<form>放到<form id="form1" runat="server"></form>外面即可

    我并不建议你使用多个Form在asp.net页面里面。

    具体的代码如下:

    <form id="form1" runat="server">
    <input name="TrueName" type="text" value="" id="TrueName" runat="server" />
    <input type="submit" name="addbn" value="添加" id="addbn" runat="server" onserverclick="addbn_ServerClick" />
    </form>
    <form action="test.aspx" method="post">
    <input type="text" id="key" />
    <input type="submit" value="搜索" />
    </form>


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年1月22日 7:24
  • 可是那样不是没有runat=“server“”了??那和死了有什么区别=_=有什么交替runat="server"的方法吗?或者任何正规方法,JavaScript也行。

    另外我听网友说网页可以兼容两个form,如果这边不行那是指html吗?


    • 已编辑 流星枪 2018年1月22日 14:57 用词不当
    2018年1月22日 14:56
  • 代码中好像把ASP与ASP.NET混合在一起了,所以遇到些奇怪的问题。

    1  asp.net中,可以存在多个form,但只能有一个runatserver的form,这是强制要求,其实在ASP.NET中,一个form就足够了,在后台可以取到按钮点击事件,知道是哪个按钮触发的事件,不依赖form,也不依赖 action="test.aspx"   

    2  ASP.NET很少或几乎不用action="test.aspx",除非特殊的场景中。

      我的修改,可能有理解不对的地方,请指正。  

    <form id="form1" runat="server">
    <input name="TrueName" type="text" value="" id="TrueName" runat="server" />
    <input type="submit" name="addbn" value="添加" id="addbn" runat="server" onserverclick="addbn_ServerClick" />
    </form>
    <input type="text" id="key" />
    <input type="submit" value="搜索"   onserverclick="key_ServerClick"/>

    </form>

    key_ServerClick和addbn_ServerClick 各自处理自己的数据请求。


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2018年1月23日 0:48
  • 我要的肯定是asp控件处理方法,你发html的干嘛。。。

    如果不在form里面会报这种错误,官方没法解决吗?

    类型“Button”的控件“Button1”必须放在具有 runat=server 的窗体标记内。

    2018年1月23日 10:54
  • 你好,

    首先,asp.net webform页面只能有一个runatserver的form。所有和codebehind的事件绑定的控件必须在这个唯一的runatserver的form里面。

    所以你会发现我的代码是只有一个runateserver的form。在另一个form我是call了另一个页面。

    你所说的页面有2个runatserver的form是不可能的。

    如果你实在想做这种效果。

    一个workaround是设计2个aspx页面。

    然后在主页面里面使用iframe填充这两个页面。

    最后,我并不建议把多个form混合在同一个页面上。


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 流星枪 2018年1月24日 15:39
    2018年1月24日 2:21
  • <!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> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="text/javascript" src="js/jquery-1.9.0.min.js"></script>
    <script type="text/javascript" src="images/login.js"></script>
    <link href="css/login2.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <h1>简洁大气快速登录注册模板<sup>2015</sup></h1>

    <div class="login" style="margin-top:50px;">
        
        <div class="header">
            <div class="switch" id="switch"><a class="switch_btn_focus" id="switch_qlogin" href="javascript:void(0);" tabindex="7">快速登录</a>
    <a class="switch_btn" id="switch_login" href="javascript:void(0);" tabindex="8">快速注册</a><div class="switch_bottom" id="switch_bottom" style=" width: 64px; "></div>
            </div>
        </div>    
      
        
        <div class="web_qr_login" id="web_qr_login" style="display: block; height: 235px;">    

                <!--登录-->
                <div class="web_login" id="web_login">
                   
                   
                   <div class="login-box">
        
                
    <div class="login_form">
    <form action="" name="loginform" accept-charset="utf-8" id="login_form" class="loginForm" method="post"><input type="hidden" name="did" value="0"/>
                   <input type="hidden" name="to" value="log"/>
                    <div class="uinArea" id="uinArea">
                    <label class="input-tips" for="u">帐号:</label>
                    <div class="inputOuter" id="uArea">
                        
                        <input type="text" id="u" name="username" class="inputstyle"/>
                    </div>
                    </div>
                    <div class="pwdArea" id="pwdArea">
                   <label class="input-tips" for="p">密码:</label> 
                   <div class="inputOuter" id="pArea">
                        
                        <input type="password" id="p" name="p" class="inputstyle"/>
                    </div>
                    </div>
                   
                    <div style="padding-margin-"><input type="submit" value="登 录" style="width:150px;" class="button_blue"/></div>
                  </form>
               </div>
               
                </div>
                   
                </div>
                <!--登录end-->
      </div>

      <!--注册-->
        <div class="qlogin" id="qlogin" style="display: none; ">
       
        <div class="web_login"><form name="form2" id="regUser" accept-charset="utf-8"  action="" method="post">
         <input type="hidden" name="to" value="reg"/>
                <input type="hidden" name="did" value="0"/>
            <ul class="reg_form" id="reg-ul">
            <div id="userCue" class="cue">快速注册请注意格式</div>
                    <li>
                   
                        <label for="user"  class="input-tips2">用户名:</label>
                        <div class="inputOuter2">
                            <input type="text" id="user" name="user" maxlength="16" class="inputstyle2"/>
                        </div>
                        
                    </li>
                    
                    <li>
                    <label for="passwd" class="input-tips2">密码:</label>
                        <div class="inputOuter2">
                            <input type="password" id="passwd"  name="passwd" maxlength="16" class="inputstyle2"/>
                        </div>
                        
                    </li>
                    <li>
                    <label for="passwd2" class="input-tips2">确认密码:</label>
                        <div class="inputOuter2">
                            <input type="password" id="passwd2" name="" maxlength="16" class="inputstyle2" />
                        </div>
                        
                    </li>
                    
                    <li>
                     <label for="qq" class="input-tips2">QQ:</label>
                        <div class="inputOuter2">
                           
                            <input type="text" id="qq" name="qq" maxlength="10" class="inputstyle2"/>
                        </div>
                       
                    </li>
                    
                    <li>
                        <div class="inputArea">
                            <input type="button" id="reg"  style="margin-top:10px;margin-left:85px;" class="button_blue" value="同意协议并注册"/> <a href="#" class="zcxy" target="_blank">注册协议</a>
                        </div>
                        
                    </li><div class="cl"></div>
                </ul></form>
               
        
        </div>
       
        
        </div>
        <!--注册end-->
    </div>
    <div class="jianyi">*推荐使用ie8或以上版本ie浏览器或Chrome内核浏览器访问本站</div>
    </body></html>
    2018年1月24日 5:50
  • 像这个我得改成aspx,然后才能使用asp的button事件,你的代码?另外call是什么意思,是说事件的作用吗?
    2018年1月24日 5:51
  • 你好,

    像我说的那样你这个是asp的页面代码,里面有两个form,form的属性action会把数据post到指定的页面。

    如果你要把这个页面改成aspx,你有三个选择,一个是把2个form表单合并成一个,然后在后台写逻辑判断。

    另一个就像我第一个回复提到的一个runat server 另一个action里面到另一个页面。

    最后就是把这个asp的两个form拆成2个aspx页面。

    然后在主页面用iframe 把这两个页面都填进去。



    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年1月25日 3:14