Id的Razor表达与预期不同

时间:2018-02-01 17:26:58

标签: asp.net-mvc razor

我正在开发一个新网站,我希望在正文上有一个特定的id来指示哪个页面是打开的。我正在使用布局视图,所以我使用ViewBag将每个页面的id传递给布局。

我在下面创建了Razor表达式,以在body标签上生成id,但它的表现并不符合我的预期。我和一位同事谈到了这一点,这对他来说很有意义,但我想更好地理解为什么它会产生它的输出。

我很困惑为什么这一行:

<body @(!String.IsNullOrEmpty(ViewBag.PageId) ? String.Format("id=\"{0}\"", ViewBag.PageId) : "")>

产生这个:

<body id=""str"">

但这一行:

<body @(!String.IsNullOrEmpty(ViewBag.PageId) ? String.Format("id={0}", ViewBag.PageId) : "")>

产生这个:

<body id="str">

我希望第一个产生<body id="str">而第二个产生<body id=str>问题涉及以某种方式自动添加的额外",它们来自哪里以及为什么?

PageId在视图中声明如下:

@{ ViewBag.PageId = "str"; }

0 个答案:

没有答案