ASP.NET 4 / Visual Studio 2008中的ContentPlaceHolder外部表单是否受支持?

时间:2012-01-30 21:21:24

标签: visual-studio-2008 master-pages asp.net-4.0

首次引入母版页时,您可以在header元素中创建ContentPlaceHolder。这实际上在编译器中有效,但在IDE中却没有,因此我不确定它是否是一个bug或支持或者是什么。因此,我在PageLoad中动态创建了脚本和样式之类的东西,这些东西适用于所有内容,但比使用没有母版页的head元素更省力。

我刚注意到ASP.NET 4 / Visual Studio 2008没有这个问题,ContentPlaceHolders即使在元素之外也能正常工作。有谁知道这是否得到支持,工作,可用和良好实践?

1 个答案:

答案 0 :(得分:0)

是的,它运作正常。你可以把ContentPlaceHolders放在头部或身体里,我已经做了很多年了。

实际上在VS2010中,当您创建新的母版页时,它会自动将ContentPlaceHolder块放入文件中。所以我会假设它支持 。检查:

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>


一些可能值得一读的链接(尽管我没有发现确认官方支持的内容):

ASP.NET Master Pages

The ContentPlaceHolder – Not Just For Content