0

当鼠标悬停在表达式上时,为什么会有一条关于冗余条件三元表达式使用的 Visual Studio 消息(表达式“true : false”的不透明度也较低)。它是否告诉我我可以编写更少的代码来获得我想要的东西(如果 ViewBag.CMSClientStatus 等于“Действующий”,然后检查收音机)?

@Html.RadioButton("ClientStatus", "Real",  ViewBag.CMSClientStatus == "Действующий" ? true : false, new { @readonly = true })

截屏

4

3 回答 3

2

表达式ViewBag.CMSClientStatus == "Действующий"已经返回trueor false。三元运算符不会为您的逻辑添加任何内容,正如 Visual Studio 所建议的那样,它是多余的。

于 2015-06-30T18:18:01.047 回答
1

代替:

ViewBag.CMSClientStatus == "Действующий" ? true : false

只需使用:

ViewBag.CMSClientStatus == "Действующий"

等式运算符 ( ==) 已经返回trueor false,因此不需要条件运算符。

于 2015-06-30T18:17:52.313 回答
0

我已经按照前两个答案中的建议写了。但随后出现错误:“扩展方法无法动态调度”。

截屏

在这里找到了答案。我需要将动态类型转换为布尔类型。我的最后一个条目是:

@Html.RadioButton("ClientStatus", "Потенциальный",  (bool) (ViewBag.CMSClientStatus == "Потенциальный"), new { @readonly = true })   
于 2015-07-01T08:23:06.283 回答