2012-05-10 38 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