母版页的HTML Title标签中的ContentPlaceHolder的奇怪问题(MVC2)

sal*_*iza 7 c# asp.net-mvc-2

好吧,我确信这对我来说一定是个愚蠢的错误,但是我无法找到问题所在,这让我疯狂.

我有一个母版页,有:

<head runat="server">
    <title>
       <asp:ContentPlaceHolder ID="TitleContent" runat="server" /> - Company
    </title>
</head>
Run Code Online (Sandbox Code Playgroud)

这只是我在创建母版页时由VS插入的默认HTML,我最后添加了" - Company",因此我不必在每个视图中重复该文本.

在观点上,我有,例如,这个:

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Some title for the view
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

你可以想象,最终结果不是我的预期.代替

<title>Some title for the View - Company</title>
Run Code Online (Sandbox Code Playgroud)

我越来越:

<title>Some title for the View</title>
Run Code Online (Sandbox Code Playgroud)

为什么?

Eri*_*ips 5

似乎是关于Classic ASP.Net(又名WebForms)如何工作的怪癖. Phil Haacked对标题标签和母版页进行了精彩的阅读.

尽管他深入了解了它的工作原理,但似乎并没有特别指出MVC.Erik Porter的第一条评论有一个疯狂的简单解决方案:

更改

<head runat="server">
Run Code Online (Sandbox Code Playgroud)

<head>
Run Code Online (Sandbox Code Playgroud)

田田,固定.