2012-01-20 6 views
0

В настоящее время я ссылаюсь на this сайт для управления ролью AD.Добавление главной страницы на веб-страницу aspx

# код C работает нормально, но когда я вставил код в моей веб-страницы вместе с MasterPage, страница дал мне ошибку, которая говорит:

Content controls have to be top-level controls in a content page or a nested master page that references a master page.

Могу ли я знать, как я должен установить моя главная страница в этом случае?

страницу .aspx без Masterpage:

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

Masterpage:

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

EDIT:

Я попытался вставить 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

Смежные вопросы