将母版页添加到aspx网页

时间:2012-01-20 04:02:11

标签: c# asp.net master-pages

我目前正在引用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页面,给出了上述错误。

2 个答案:

答案 0 :(得分:1)

母版页包含HTML代码和内容区域。必须使用母版页的页面必须包含&lt; asp:Content&gt;中的所有代码。标签。您不能在Content标记之外使用任何类型的代码。

答案 1 :(得分:0)

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