C#ASP.NET MVC:视图中的单行If子句?
我遇到了一个微不足道的问题..并且无法解决它。
在我看来,我有这个:
如您所见,我使用3x 。 那就像糟糕的代码一样尖叫。 但我似乎无法让这个工作在一条线上。 这会引发各种奇怪的错误(例如分号丢失,当我添加一个时会抛出其他东西):
任何的想法?!
尝试:
<%= Model.DisplayText ? "" : Model.MyText %>
要么
<% if(!Model.DisplayText) Response.Write(Model.MyText); %>
基本上就像编写Response.Write(你的数据)意味着代码将执行,但它不会专门写出任何东西。 您可以在if块中使用Response.Write来输出所需的数据。
或者按照OrbMan的回答,他打败了我。
这个:
<%= foo %>
通常相当于:
<% Response.Write(foo) %>
所以你可以写:
<% if (!Model.DisplayText) { Response.Write(Model.MyText); } %>
但我不明白你从中得到了什么。 你的原始代码很好。 或者你可以使用三元运算符,正如OrbMan建议的那样。