在Razor视图中,如何在没有<的情况下插入页面标题?

Typ*_*son 1 asp.net-mvc view razor

在我的ASP.NET MVC 3 Razor布局视图中,我希望页面标题始终为“我的网站”,并且如果设置了ViewBag.Title,则希望使用连字符作为分隔符将其附加到标题。我希望这段代码在一行上

此代码失败:

<title>My Website @if( string.IsNullOrEmpty( ViewBag.Title) == false){ - @ViewBag.Title}</title>
Run Code Online (Sandbox Code Playgroud)

if块缺少结束符“}”。确保此块中所有“ {”字符都有一个匹配的“}”字符,并且没有“}”字符被解释为标记。

大概是因为@:假定该行的其余部分是标记。我无法使用span标签来帮助Razor,因为浏览器标题变为“我的网站-span主页span”。

是的,我可以将其分布在两行或三行中,但我不想这样做。这可行,但这是我与Razor唯一的选择吗?

<title>My Website @if( string.IsNullOrEmpty( ViewBag.Title) == false){ @: - @ViewBag.Title
}</title>
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 5

您需要使用<text>伪标记

<title>My Website @if(!string.IsNullOrEmpty(ViewBag.Title)) { <text>- @ViewBag.Title</text> }</title>
Run Code Online (Sandbox Code Playgroud)