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建议的那样。