ASP.Net-内容占位符内的项目未显示在.aspx页面中

时间:2015-03-27 16:42:13

标签: c# visual-studio-2008

我在内容占位符中出错。当我尝试创建母版页时,它在母版页中向我显示如下错误,我无法在.aspx页面中看到任何项目,如按钮,标签等。

此外,我无法从VS工具箱添加内容占位符,它会在内容占位符按钮上显示一个十字标记。

{ Error Rendering Control - ContentPlaceHolder1

An unhandled exception has occurred.

This control can only be used in a MaserPage.}  

1 个答案:

答案 0 :(得分:0)

ASP.NET master页面允许您为应用程序中的页面创建一致的布局。单个母版页定义了应用程序中所有页面(或一组页面)所需的外观和标准行为。 除了将出现在所有页面上的静态文本和控件之外,母版页还包括一个或多个ContentPlaceHolder控件。这些占位符控件定义了可替换内容将出现的区域。反过来,可替换内容在内容页面中定义。这是一个母版页的例子

<%@ Master Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 
1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server" >
    <title>Master page title</title>
</head>
<body>
<form id="form1" runat="server">
    <table>
       <tr>
           <td><asp:contentplaceholder id="Main" runat="server" /></td>
           <td><asp:contentplaceholder id="Footer" runat="server" /></td>
       </tr>
    </table>
</form>
</body>
</html>

这里应该是一个看起来像

的内容页面
<% @ Page Language="C#" MasterPageFile="~/Master.master" Title="Content Page 1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="Main" Runat="Server">
    Main content.
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="Footer" Runat="Server" >
    Footer content.
</asp:content>

请在此处详细了解ASP.NET Master Pages