2012-01-20 96 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