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抱歉,我刚刚错过了条件,请尝试上面的操作。