【问题标题】:Adding masterpage to aspx webpage将母版页添加到 aspx 网页
【发布时间】:2012-01-25 21:49:36
【问题描述】:

我目前正在参考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" 插入到第一个标记中,它以&lt;%@ Page Language="C#" MasterPageFile="~/MainPage.master"%&gt; 开始我的.aspx 页面,给了我上面提到的错误。

【问题讨论】:

  • 请同时发布 - .master 和 .aspx 页面的标记。
  • 你的帖子我不清楚。请用一句话说“你想做什么?”如果您想以编程方式配置母版页,请阅读以下链接:asp.net/web-forms/tutorials/master-pages/…msdn.microsoft.com/en-us/library/ie/c8y19k6h.aspx
  • 我希望将我的 .aspx 网页设置为根据我的母版页进行格式化,它目前没有使用任何母版页
  • 那么你必须在设计时编辑你的.aspx页面,并根据母版页设计在其中添加控件。

标签: c# asp.net master-pages


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • asp 标签基本上链接到您的母版页,表示此标签中的内容进入我链接到的母版页中的位置。如果您创建一个新页面,并选择“使用母版页”。然后选择您的母版页,您将看到显示您需要的 asp 内容标签的脚手架代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多