【发布时间】:2015-11-01 00:51:22
【问题描述】:
我有一个问题,我找不到解决办法。
这样的检查按钮有效:
@Html.RadioButtonFor(x => x.an2[0], 3, Model.an2[0]==3
? new { id = "B", @checked = "checked" } : null)
但是我还需要设置id,我该怎么做呢?这段代码:
@Html.RadioButtonFor(x => x.an2[0], 3, Model.an2[0]==3
? new { id = "B", @checked = "checked" } : new { id = "B" })
给出错误:
无法确定条件表达式的类型,因为 'AnonymousType#1' 和 'AnonymousType#2' 之间没有隐式转换
这超出了我的理解。
我想应该有一个简单的解决方案?
【问题讨论】:
-
虽然 Sam Farajpour Ghamari 的回答向您展示了如何创建条件 html 属性,但在您的情况下完全没有必要。在使用
RadioButtonFor()时,您永远不应设置checked属性。如果您绑定到的属性,助手已经根据值设置它(如果不是,那么您的代码有其他问题) -
我试过了,但在我的情况下不起作用。我试图创建的是一个测试,用户在部分视图中切换并选择他/她认为正确的答案。如果转到上一个部分视图,我希望检查以前选择的答案(单选按钮),但可以更改。通过我的代码和 Sam 的更正,想要的效果发生了。如果我删除了“已检查”部分,则它不会,即使包含 an2 列表的模型来回传递。
-
那么你的代码中还有其他问题,所以也许你也应该考虑解决这个问题")