use*_*767 4 asp.net anonymous-types ternary razor
我有以下代码:
<div class="col-sm-8 col-sm-pad ">
@Html.DropDownListFor(model => model.SelectedAssignToId, Model.AssignToListItems,
ViewBag.CanEditRequest ? new { @class = "form-control" } : new { @class = "form-control", @disabled = "disabled" })
</div>
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
错误CS0173:无法确定条件表达式的类型,因为'AnonymousType#1'和'AnonymousType#2'之间没有隐式转换
如何在剃刀中的匿名类型上使用三元表达式?
p.s*_*w.g 11
您可以将三元表达式的一侧强制转换为object:
@Html.DropDownListFor(model => model.SelectedAssignToId, Model.AssignToListItems,
ViewBag.CanEditRequest ? (object)new { @class = "form-control" } : new { @class = "form-control", @disabled = "disabled" })
Run Code Online (Sandbox Code Playgroud)
或者尝试将三元表达式移动到匿名类型中,如下所示:
@Html.DropDownListFor(model => model.SelectedAssignToId, Model.AssignToListItems,
new { @class = "form-control", @disabled = ViewBag.CanEditRequest ? null : "disabled" })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1087 次 |
| 最近记录: |