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