在ASP.NET WebForm上组合控件内容和html

时间:2014-02-11 19:50:40

标签: c# asp.net

我正在帮助获取正确的语法以将控件添加到WebForm,或者如果不可能,我该怎么做。

Webform1.aspx包含应用了css的标题和导航栏。 Default.aspx包含一个带控件的页面。我希望Default.aspx看起来与Webform1.aspx相同,所以它有相同的标题,navbar和css。

我的大部分尝试都会导致错误Parser Error Message: Only Content controls are allowed directly in a content page that contains Content controls.

目前的代码如下:

WebForm1.aspx的:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="wp-content/themes/newtheme/css/style.css" type="text/css" media="screen">
    <!-- other Css -->
<script>
    <!-- scripts -->
</script>
</head>
<body id="page1">
    <div id="main_outer">
      <div id="main"> 
        <!-- header -->
        <header>
        <div class="inside">
            <div class="extra-wrap">
              <h1><a>Header</a></h1>
            </div>
        </div>
        </header>
        <nav>
            <!-- navigation -->
        </nav>

        </div>
    </div>
</body>

Default.aspx的:

<%@ Page Title="Welcome" Language="C#" MasterPageFile="~/members/themes/default/default.master" 
    AutoEventWireup="true" 
    Inherits="members_Default" 
    Codebehind="Default.aspx.cs" %>
<%@ Register Src="/members/controls/membership-info.ascx" TagName="membership" TagPrefix="uc1" %>
<asp:Content ID="Content1" 
    ContentPlaceHolderID="head" runat="Server">
</asp:Content>
<asp:Content ID="Content2" 
    ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
        <uc1:membership ID="membership" runat="server" />
</asp:Content>

1 个答案:

答案 0 :(得分:1)

您应该将内容控件添加到Webform1.aspx,然后将Default.aspx指定为新Content控件的内容。 这将有效地使Webform1成为默认页面的母版页,并且您必须在默认的Page指令中将其设置为母版页。 您必须按照评论中的建议将Webform1更改为母版页,因此您必须决定是否要使用当前分配的母版页,并将其指定为如果你这样做,那就是Webform1的主人。 多个母版页并不罕见。