HTML / Razor通过变量设置div的类导致错误的类

时间:2015-12-11 16:14:42

标签: html5 asp.net-mvc-4 razor

在我的MVC视图剃刀页面中,我有这段代码:

@if (TempData["notice"] != null)
{
  var clss = string.Concat("alert ", (TempData["noticeClass"]).ToString(), " alert-dismissible");
  <div class=@clss role="alert">
    <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
    <h3>@TempData["notice"]</h3>
  </div>
}

我的想法是我可以在控制器中设置引导警报的颜色以及消息。 例如,TempData [&#34; NoticeClass&#34;]设置为&#34; alert-success&#34;。

如果我在&#39; var clss =&#39;然后我可以看到clss变量是正确构建的。 它显示:

  

&#34;警报提醒 - 成功警报 - 不允许&#34;

但是当我运行页面并检查它时,我会看到这个:

<div class="alert" alert-success="" alert-dismissible="" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<h3>The email address 'blabla@bla.com' has been updated.</h3>

正如您所看到的,div的类仅设置为第一部分。 我是否只是在Visual Studio 2015中发现了一个错误,或者这是有意的,我做错了吗?

2 个答案:

答案 0 :(得分:3)

尝试:

<div class="@clss" role="alert">

即使它是一个字符串值,您仍然需要包含引号。

答案 1 :(得分:2)

试试这个:

<div class="@clss" role="alert">