2012-01-20 65 views
0

我目前引用this网站进行AD角色管理。将masterpage添加到aspx网页

的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"进入第一变量,与开始我的.aspx页面中<%@ Page Language="C#" MasterPageFile="~/MainPage.master"%>,给我上面提到的错误。

+0

请张贴 - .master和.aspx页面的标记。 – adatapost

+0

@AVD我已更新我的帖子 – gymcode

+0

您的帖子对我而言并不明确。请在一行中说“你想做什么?”如果您想以编程方式配置母版页,请阅读以下链接:http://www.asp.net/web-forms/tutorials/master-pages/specifying-the-master-page-programmatically-vb和http:// msdn .microsoft.com/en-us/library/ie/c8y19k6h.aspx – adatapost

回答

1

母版页包含HTML代码和内容区域。使用主页面的页面必须具有一个< asp:Content>标记中的所有代码。 Content标签之外不能有任何代码。

0

您需要将代码放在<asp:Content ID="content1" ContentPlaceHolderID="Content_pageBody" Runat="Server"></content>标记中。此标记应映射到您的母版页,其中ContentPlaceHolderID =主页中的占位符名称

+0

你的意思是把我的整个代码放在asp标签里面吗? – gymcode

+0

asp标签基本上链接到您的母版页,说这个标签中的内容进入我链接到的母版页中的位置。如果您创建一个新页面,并选择“使用母版页”。然后选择你的母版页,你会看到脚手架代码,它显示你需要的asp内容标签。 – Prescott