如何避免错误'一个页面只能有一个服务器端的Form标签'。 [英] How to avoid error 'a page can have only one server-side Form tag'.?

查看:59
本文介绍了如何避免错误'一个页面只能有一个服务器端的Form标签'。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





i有一个用户控制页面如下



 <  !DOCTYPE     html     PUBLIC     -  // W3C // DTD     XHTML     1.0    < span class =code-attribute> Transitional // EN   http://www.w3 .org / TR / xhtml1 / DTD / xhtml1-transitional.dtd >  



< div id = header class = header >
< h1 class = < span class =code-keyword> h1 > TrackU:学生和车辆跟踪系统< / h1 >
< 表格 runat = server id = fomr2 >
< p class = p > < asp:LinkBut​​ton runat = server ID = logBtn ForeColor = 白色 文本 = 退出 > < / asp:LinkBut​​ton > < / p >
< / form >
< < span class =code-leadattribute> / div
>
< div >
< ul class = ul >
< li class = li > < a class = lia href = / Admin / Fleet.aspx > Fleet < < span class =code-leadattribute> / a > < / li >
< li class = li > < a class = lia href = / Admin / StudentInfo.aspx > 学生资讯< / a > < / li >
< li class = li > < a class = lia href = / Admin / RouteSettings.aspx > 路线设置< / a > < / li & gt;
< li class = li > < a < span class =code-attribute> class = lia href = / Admin / Reports.aspx > 报告< / a > < / li >
< / ul >
< / div >









和带有usercontrol的aspx页面如下,



 <%@     Page    语言  =  C#    AutoEventWireup   =  true    CodeBehind   =  Fleet.aspx.cs   继承  =  M2iSTS2 .Admin.Fleet11   %>  

< !DOCTYPE html PUBLIC - // W3C // DTD XHTML 1.0 Transitional // EN http://www.w3.org/ TR / xhtml1 / DTD / xhtml1-transitional.dtd >
<%@ 注册 src = 〜/ UserControl / Header.ascx TagName = 标题 TagPrefix = UserControl %>
<%@ 注册 src = 〜/ UserControl / Footer.as cx TagName = 页脚 TagPrefix = UserControl %>


< html xmlns = http://www.w3.org/1999/xhtml >
< head runat = server &g t;
< title > < / title > ;
< link rel = 样式表 href = http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/themes/redmond/jquery-ui.css / >

< / head >

<跨度class =code-keyword>< body >

< UserControl:Header ID = 标题 runat = server / >
< 表格 id = form1 < span class =code-attribute> runat = 服务器 >

< asp:ScriptManager ID = ScriptManager1 runat = server >
< / asp:ScriptManager >

< border = 1 >
< tr >
< td style = width:250px; height:100%; background-color:# CEF >

< asp:UpdatePanel runat = server ID = updatePanel1 >
< ContentTemplate >
< align = center >
< tr >

< tr >
< td >
< asp:ImageButton ID = vehiclelistBtn runat = server

< span class =code-attribute> ImageUrl = 〜/ image / vehiclelist_btn.png onclick = vehiclelistBtn_Click / >
< / td >
< / tr >
< tr >
< td >
< asp:ImageButton ID = driverlistBtn runat = 服务器

< span class =code-attribute>
ImageUrl = 〜/ image / driver_list.png onclick = driverlistBtn_Click / >
< / td >
< / tr >

< / tr >
< / table >
< / ContentTemplate >
<
/ asp:UpdatePanel >

< / td > ;
< td style = width:100%;高度:100% >
< div id = map_canvas < span class =code-attribute> styl e = 身高:635px > ;

< / div >

< / td >
< / tr >
< /表格 >


< < span class =code-leadattribute> UserControl:Footer ID = Footer1 runat = server / >
< / form >

< / body >
< / html >





但它给出了错误



一个页面只能有一个服务器端的Form标签。



如何避免这种情况?



谢谢..

解决方案

Usercontrol 永远不会有 Form 标记。当您在页面中使用 UserControl 时,它将自动通过您的页面获取表单标签。





注意:页面中只能有一个表格标签。





谢谢


你必须:



1.从ascx页面删除表格标签(用户控制)

2.放置用户控制主aspx页面上的表单标签,如下所示:





 <  表格    id   =  form1    runat   =  server < span class =code-keyword>>  
< usercontrol:header id = 标题 runat = server xmlns:usercontrol = #unknown > < / usercontrol:header > < / form >







问候

爬完


Hi,

i have a usercontrol page as below

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<div id="header" class="header">
   <h1 class="h1">TrackU: Student and Vehicle Tracking System</h1>
    <form runat="server" id="fomr2">
    <p class="p"><asp:LinkButton runat="server" ID="logBtn" ForeColor="White" Text="Logout"></asp:LinkButton></p>
    </form>
 </div>
 <div>
   <ul class="ul">
       <li class="li"><a class="lia" href="/Admin/Fleet.aspx">Fleet</a></li>
       <li class="li"><a class="lia" href="/Admin/StudentInfo.aspx">Student Info</a></li>
       <li class="li"><a class="lia" href="/Admin/RouteSettings.aspx">Route Settings</a></li>
       <li class="li"><a class="lia" href="/Admin/Reports.aspx">Reports</a></li>
   </ul>
 </div>





and the aspx page with usercontrol as below,

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Fleet.aspx.cs" Inherits="M2iSTS2.Admin.Fleet11" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ Register src="~/UserControl/Header.ascx" TagName="Header" TagPrefix="UserControl" %>
<%@ Register src="~/UserControl/Footer.ascx" TagName="Footer" TagPrefix="UserControl" %>


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link rel="Stylesheet" href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/themes/redmond/jquery-ui.css" />  
   
</head>

<body>
    
    <UserControl:Header ID="Header"  runat="server"/> 
    <form id="form1" runat="server">
    
     <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>  
   
<table border="1">
    <tr>
       <td style="width:250px;height:100%;background-color: #CEF">         
          
          <asp:UpdatePanel runat="server" ID="updatePanel1">
          <ContentTemplate>    
          <table align="center">
          <tr>             
              
              <tr>
                  <td>
                      <asp:ImageButton ID="vehiclelistBtn" runat="server" 

                          ImageUrl="~/image/vehiclelist_btn.png" onclick="vehiclelistBtn_Click" />
                  </td>
              </tr>
              <tr>
                  <td>
                      <asp:ImageButton ID="driverlistBtn" runat="server" 

                          ImageUrl="~/image/driver_list.png" onclick="driverlistBtn_Click" />
                  </td>
              </tr>
             
          </tr>
           </table>   
          </ContentTemplate>
          </asp:UpdatePanel>                    
         
       </td>
       <td style="width:100%;height:100%">       
       <div  id ="map_canvas" style="height:635px">
       
       </div>   
                    
       </td>
   </tr>
 </table>

 
    <UserControl:Footer ID="Footer1"  runat="server" />
    </form>
   
</body>
</html>



But it giving error as

A page can have only one server-side Form tag.

How to avoid this?

Thanks..

解决方案

An Usercontrol never have the Form tag. when you use UserControl in your page it will automatically get the form tag through your page.


Note: There must be only only one form tag in a page.


Thanks


you must:

1. remove the form tag from the ascx page (user control)
2. Place the user control between the form tags on the main aspx page like this:


<form id="form1" runat="server">
 <usercontrol:header id="Header" runat="server" xmlns:usercontrol="#unknown"> </usercontrol:header></form>




Regards
Pawan


这篇关于如何避免错误'一个页面只能有一个服务器端的Form标签'。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆