2012-05-03 10 views
2

情况:我有一个拥有3个内容占位符但不包含表单runat服务器的母版页。 在我的Login.aspx中,我尝试填充这些占位符,但它不允许我没有窗体runat服务器标记,并且一旦我再次添加多个窗体,它将显示我:“一个页面只能有一个服务器端Form标记“。如何在不使用表单的情况下将控件放入不同的内容占位符中

这里是我的代码:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="DWDS_Lotus_Care_Final.Page" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder2" runat="server"> 
    <form id="formUser" runat="server"> 
      <p> 
       <asp:Label ID="lblUsername" runat="server" Text="Username"></asp:Label> 
       <asp:Button ID="btnLogout" runat="server" Text="Logout" /> 
      </p> 
    </form> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
    <form id="form1" runat="server"> 
    <table style="width: 100%"> 
     <tr> 
      <td style="width: 93px"> 
       UserName : 
      </td> 
      <td style="width: 139px"> 
     <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox> 
      </td> 
      <td style="width: 307px"> 
     <asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate="txtUserName" runat="server" ErrorMessage="*"></asp:RequiredFieldValidator> 
      </td> 
     </tr> 
     <tr> 
      <td style="width: 93px"> 
       Password :</td> 
      <td style="width: 139px"> 
     <asp:TextBox ID="txtPassword" runat="server"></asp:TextBox> 
      </td> 
      <td style="width: 307px"> 
     <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="txtPassword" runat="server" ErrorMessage="*"></asp:RequiredFieldValidator> 
      </td> 
     </tr> 
     <tr> 
      <td style="width: 93px"> 
       &nbsp;</td> 
      <td style="width: 139px"> 
     <asp:Button ID="btnSubmit" Text="Submit" runat="server" 
      onclick="btnSubmit_Click" /> 
     &nbsp;&nbsp; 
     <asp:Button ID="btnClear" Text="Clear" runat="server" 
      onclick="btnClear_Click" /> 
      </td> 
      <td style="width: 307px"> 
     <asp:LinkButton ID="linkRegister" Text="Register" runat="server"></asp:LinkButton> 
      </td> 
     </tr> 
    </table> 
     </p> 
    </form> 
</asp:Content> 
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder3" runat="server"> 

</asp:Content> 

这里是主源

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs"  Inherits="DWDS_Lotus_Care_Final.Site1" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    <meta name="description" content="" /> 
    <meta name="keywords" content="" /> 
    <title>Consistent</title> 
    <link href="http://fonts.googleapis.com/css?family=Bitter" rel="stylesheet" type="text/css" /> 
     <link rel="stylesheet" type="text/css" href="style.css" /> 
</head> 
<body> 
     <div id="wrapper"> 
     <div id="header"> 
      <div id="logo"> 

      </div> 
     </div> 
      <div id="menu"> 
       <ul> 
        <li><a href="#">Login</a></li> 
        <li><a href="#">About</a></li> 
        <li><a href="#">Portfolio</a></li> 
        <li class="last"><a href="#">Contact</a></li> 
       </ul> 
      </div> 
      <div id="page"> 



     <%--Here is the sidebar--%> 
      <div id="sidebar" style="background-color:#CCCCCC"> 
       <asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server"> 
       </asp:ContentPlaceHolder> 
        <h3>Links to Other Hospitals</h3> 
        <div class="date-list"> 
         <ul class="list date-list"> 
          <li class="first"><span class="date">Sunway</span> <a href="#">Sunway Piramid</a></li> 
          <li><span class="date">KPJ</span> <a href="#">Kajang Care Centre</a></li> 
          <li><span class="date">HCC</span> <a href="#">Health Care Center</a></li> 
          <li><span class="date">AlphaH</span> <a href="#">Alpha Health Center</a></li> 
          <li><span class="date">UPC</span> <a href="#">Bangsar Hospital</a></li> 
          <li class="last"><span class="date">TPM</span> <a href="#">Technology Park Hospital</a></li> 
         </ul> 
        </div> 
       <br class="clearfix" /> 
      </div> 



      <%--Here is the Content--%> 
      <div id="content"> 
       <h2>Welcome to Lotus Care</h2> 

       <div class="box"> 
        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> 

        </asp:ContentPlaceHolder> 
       </div> 
       <div class="box"> 
        <asp:ContentPlaceHolder ID="ContentPlaceHolder3" runat="server"> 

        </asp:ContentPlaceHolder> 
       </div> 
       <br class="clearfix" /> 
      </div> 





      <br class="clearfix" /> 
     </div> 
    </div> 
    <div id="footer"> 
     </div> 
</body> 

+0

粘贴主页面源文件(aspx) –

+0

您不能使用多个表单标签,并且内容占位符应位于表单标签内 – coder

+1

将表单标签放置在主页面中并将其从地点持有者 – Krishna

回答

2

母版:

<form runat="server"> 
    <%-- use form tag only in Master page.--%> 
<div id="content"> 
<h2>Welcome to Lotus Care</h2> 
<div class="box"> 
    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> 

    </asp:ContentPlaceHolder> 
    </div> 
    <div class="box"> 
    <asp:ContentPlaceHolder ID="ContentPlaceHolder3" runat="server"> 

    </asp:ContentPlaceHolder> 
    </div> 
    <br class="clearfix" /> 
</div> 
</form> 

内容页:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
    <%-- don't use Form tag here..--%> 
    <table style="width: 100%"> 
    </table> 
</asp:Content> 
1

这是我做的:

我会用DIV或面板对于这种情况

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder2" runat="server"> 
<div> 
//Place some controls here  
</div> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
<div> 
//Put some controls here 
</div> 
</asp:Content> 
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder3" runat="server"> 
<div> 
//Put some more controls here 
</div> 
</asp:Content> 
+0

非常感谢编码器。 Ashwini Verma的解决方案奏效。我只在主页面内放置一个表单,并将所有内容占位符放入其中。在我的Login.aspx中,我只是使用它们而没有任何表单或div或面板。 – Ben

0

在VS2017 u可以使用的ContentPlaceHolder没有形式标记。使用asp.net 4.6.2

相关问题