我正在尝试做类似下面的事情
<div id="test">
@(
string.IsNullOrEmpty(myString)
? @:
: myString
)
</div>
上面的语法是无效的,我已经尝试了很多不同的东西但无法让它工作。
最佳答案
尝试以下操作:
@Html.Raw(string.IsNullOrEmpty(myString) ? " " : Html.Encode(myString))
但我建议您编写一个助手来完成这项工作,这样您就不必将您的观点变成意大利面条:
public static class HtmlExtensions
{
public static IHtmlString ValueOrSpace(this HtmlHelper html, string value)
{
if (string.IsNullOrEmpty(value))
{
return new HtmlString(" ");
}
return new HtmlString(html.Encode(value));
}
}
然后在您看来只是:
@Html.ValueOrSpace(myString)
关于Razor 三元表达式中的 HTML 文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6857204/