Razor html helper参数显示关于冗余条件三元表达式用法的消息
本文关键字:条件 表达式 消息 用法 三元 冗余 参数 helper html 显示 于冗余 | 更新日期: 2023-09-27 18:00:36
当存在鼠标悬停表达式(表达式"true:false"也具有较低的不透明度)时,为什么会出现有关冗余条件三元表达式使用的Visual Studio消息。它是否告诉我,我可以以某种方式写更少的代码来获得我想要的东西(如果ViewBag.CMSClientStatus等于"Дейсрвужий",那么检查收音机)?
@Html.RadioButton("ClientStatus", "Real", ViewBag.CMSClientStatus == "Действующий" ? true : false, new { @readonly = true })
屏幕截图
表达式ViewBag.CMSClientStatus == "Действующий"
已返回true
或false
。三元运算符不会为您的逻辑添加任何内容,正如Visual Studio所建议的那样,它是多余的。
代替:
ViewBag.CMSClientStatus == "Действующий" ? true : false
只需使用:
ViewBag.CMSClientStatus == "Действующий"
相等运算符(==
)已经返回true
或false
,因此不需要条件运算符。
我已经按照前两个答案中的建议进行了编写。但随后出现了一个错误:"扩展方法不能动态调度"。
屏幕截图
答案在这里找到。我需要将动态类型强制转换为布尔类型。我的最后一个条目是:
@Html.RadioButton("ClientStatus", "Потенциальный", (bool) (ViewBag.CMSClientStatus == "Потенциальный"), new { @readonly = true })