Asp.net 如何在不使用表单的情况下将控件放置在不同的内容占位符中

Asp.net 如何在不使用表单的情况下将控件放置在不同的内容占位符中,asp.net,Asp.net,情况:我有一个母版页,其中有3个内容占位符,但服务器上没有运行表单。 在我的Login.aspx中,我尝试填充这些占位符,但它不允许我没有表单runat服务器标记,一旦我再次添加多个表单,它会显示:“一个页面只能有一个服务器端表单标记。” 这是我的密码: <%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="Login.aspx.cs" I

情况:我有一个母版页,其中有3个内容占位符,但服务器上没有运行表单。 在我的Login.aspx中,我尝试填充这些占位符,但它不允许我没有表单runat服务器标记,一旦我再次添加多个表单,它会显示:“一个页面只能有一个服务器端表单标记。”

这是我的密码:

    <%@ 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>


  • KPJ
  • 肝癌
  • 阿尔法
  • UPC
  • TPM

  • 我就是这么做的:

    在这种情况下,我将使用div或panel

    <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>
    
    
    //在这里放置一些控件
    //在这里放一些控件
    //在这里多放一些控件
    
    母版页:

    <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>
    
    
    
    在VS2017中,您可以使用不带表单标记的contentplaceholder。使用asp.net 4.6.2

    粘贴母版页源文件(aspx)不能使用多个表单标记,内容占位符应位于表单标记内将表单标记放置在母版页中,并将其从占位符中删除是,我知道这一点,但一旦我想在contentplaceholder中放置控件,它就会告诉我使用runatserver标记将其放置在表单中。所以我只能在一个内容占位符中有一个表单,但是其他的呢?!因此,使用div或panel代替formsThanks进行大量编码。Ashwini Verma的解决方案奏效了。我只把一个表单放在母版页里面,把所有的内容放在里面。在我的Login.aspx中,我只使用了它们,没有任何表单、div或面板。
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
      <%-- don't use Form tag here..--%>
      <table style="width: 100%">
      </table>
    </asp:Content>