2012-05-10 41 views
1

我无法找出正确的语法到emdash整合到剃刀字符串MDASH。这里的想法:如何显示与我的剃刀表达

@(string.IsNullOrEmpty(Model.DemandClassCode) ? string.Empty : Model.DemandClassCode — Model.DemandClassName) 

我得到在编辑器中ReSharper的错误消息:

无法解析符号“MDASH”

回答

1

剃刀自动HTML编码所有的输出这是不HtmlString

使用Html.Raw帮手,如果你不想编码:

@Html.Raw(isValid ? "" : string.Format("{0} — {1}", @Model.Var1, @Model.Var2)) 

或创建HtmlString明确:

@MvcHtmlString.Create(isValid ? "" : string.Format("{0} — {1}", @Model.Var1, @Model.Var2)) 

,并以新的样品:

@Html.Raw(string.IsNullOrEmpty(Model.DemandClassCode) ? string.Empty : string.Format("{0} — {1}", Model.DemandClassCode, Model.DemandClassName)) 

或用使用if:

@if (string.IsNullOrEmpty(Model.DemandClassCode)) 
{ 
    @string.Empty 
} 
else 
{ 
    <text>@Model.DemandClassCode &mdash; @Model.DemandClassName</text> 
} 
+0

我仍然得到错误信息。这些似乎没有工作。我尝试了他们两个。 – birdus

+0

你是否与'string.Format'一起尝试过?因为你需要返回字符串,这就是为什么resharper在你的新样本中抱怨的原因。 – nemesv

+0

这个技巧。谢谢!只是没有很好的组合。 – birdus