我目前正在引用this网站进行AD角色管理。
C#代码工作正常,但是当我将代码粘贴到我的网页中时,该页面给了我一个错误,上面写着:
Content controls have to be top-level controls in a content page or a nested master page that references a master page.
在这种情况下,我可以知道如何设置母版页?
。没有母版页的.ASPX页面:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
string[] rolesArray;
MembershipUserCollection users;
string[] usersInRole;
public void Page_Load()
{
....
}
public void AddUsers_OnClick(object sender, EventArgs args)
{
....
}
public void UsersInRoleGrid_RemoveFromRole(object sender, GridViewCommandEventArgs args)
{
....
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Role Membership</title>
</head>
<body>
<form runat="server" id="PageForm">
<font face="helvetica" size="6" color="#455c75"><strong>Role Membership</strong></font><font face="helvetica" size="5" color="#455c75"><strong> Management</strong></font>
<br /><asp:Label ID="Msg" ForeColor="maroon" runat="server" /><br />
<table cellpadding="3" border="0">
...
</table>
</form>
母版:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MainPage.master.cs" Inherits="MainPage" %>
<!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 id="Head1" runat="server">
<title>SOD</title>
<link href="Styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
...
</body>
</html>
修改
我尝试将MasterPageFile="~/MainPage.master"
插入到第一个标记中,该标记以<%@ Page Language="C#" MasterPageFile="~/MainPage.master"%>
启动我的.aspx页面,给出了上述错误。
答案 0 :(得分:1)
母版页包含HTML代码和内容区域。必须使用母版页的页面必须包含&lt; asp:Content&gt;中的所有代码。标签。您不能在Content标记之外使用任何类型的代码。
答案 1 :(得分:0)
您需要将代码放在<asp:Content ID="content1" ContentPlaceHolderID="Content_pageBody" Runat="Server"></content>
标记内。此标记应映射到您的母版页,其中ContentPlaceHolderID =母版页中的占位符名称