C# 在asp.net-mvc中,如何从视图模型中为html.dropdownlistfor插入类名

C# 在asp.net-mvc中,如何从视图模型中为html.dropdownlistfor插入类名,c#,asp.net,asp.net-mvc,viewmodel,html.dropdownlistfor,C#,Asp.net,Asp.net Mvc,Viewmodel,Html.dropdownlistfor,我认为有以下代码: <%= Html.DropDownListFor(r=>r.Id, Model.MyList, new { @class = "Dropdown hidden" })%> 但我无法找出正确的语法将其放入class属性中。我需要像这样的东西: <%= Html.DropDownListFor(r=>r.Id, Model.MyList, new { @class = "Dropdown <%=Model.HiddenConditional%

我认为有以下代码:

<%= Html.DropDownListFor(r=>r.Id, Model.MyList, new { @class = "Dropdown hidden" })%>
但我无法找出正确的语法将其放入class属性中。我需要像这样的东西:

<%= Html.DropDownListFor(r=>r.Id, Model.MyList, new { @class = "Dropdown <%=Model.HiddenConditional%>" })%>
r.Id,Model.MyList,新建{@class=“Dropdown”})%>
您需要执行以下操作:

<%= Html.DropDownListFor(r=>r.Id, Model.MyList, 
               new { @class = "Dropdown " + Model.HiddenConditional })%>
r.Id,Model.MyList,
新建{@class=“Dropdown”+Model.HiddenConditional})%>

您可能与在ViewModel中使用
HiddenConditional
的解决方案有关,但我认为最好在视图中保留类名,并在ViewModel中使用布尔值。所以看起来是这样的:

视图模型

  public string HiddenConditional
  {
      get
      {
          return IfCondition() ? "hidden" : string.empty;
      }
  }
public bool MyListIsHidden { get; set; }
查看

<%= Html.DropDownListFor(r=>r.Id, Model.MyList, new { @class = "Dropdown" + (Model.MyListIsHidden ? " hidden" : "") })%>
r.Id,Model.MyList,新的{@class=“Dropdown”+(Model.MyListIsHidden?“hidden”:“)})%

也许我想得太简单了,但是你不能在ViewModel中将一个属性设置为true或false,然后在DropDownList for中,执行以下操作:
r.Id,Model.MyList,new{@class=“Dropdown”+(Model.MyListIsHidden?“hidden:”)%%>
@leora抱歉,我刚刚错过了条件,请尝试上面的操作。