如果在Razor View中内联

use*_*388 9 vb.net asp.net-mvc razor asp.net-mvc-3

在我的控制器中,我有和内联If语句:

ViewBag.NameSortParam = If(String.IsNullOrEmpty(sortOrder), "Name desc", "")
Run Code Online (Sandbox Code Playgroud)

在我看来,我似乎无法使用内联:

@Code
    If(True, true, true)
End code
Run Code Online (Sandbox Code Playgroud)

它说,"如果必须以匹配的结束If结束." 为什么我不能在这里使用内联?谢谢.

Tim*_*mes 11

尝试

@Code
    @(If(True, true, true))
End Code
Run Code Online (Sandbox Code Playgroud)

  • 这看起来像答案.我想知道它为什么需要括号?谢谢你. (2认同)
  • 另外,我认为IIF与IF的工作方式不同,因为它会执行真假语句,并且不会像正常情况那样短路. (2认同)

Big*_*ddy 10

你可以使用这样的东西:

   @(true? "yes": "no") 
Run Code Online (Sandbox Code Playgroud)

  • 我怀疑你可以在VB.NET中使用这样的东西. (2认同)