ASP.NET MVC 3 - 将字符串值显示为布尔值
本文关键字:显示 布尔值 字符串 NET MVC ASP | 更新日期: 2023-09-27 18:32:36
我希望得到一些帮助。 我有一个字符串值 - 将返回为 Y 或 N。 在页面上,我想转换它并将其显示为页面上的只读复选框。
我试过了
@Html.CheckboxFor( model => Convert.ToBoolean(MyString))
但它不喜欢这样。 有没有人知道我如何实现这一目标。 我是否需要在 c# 控制器页面中的字符串上转换为布尔值?
在模型上创建一个执行转换的字段。 CheckBoxFor
需要一个Expression<Func<TModel, Boolean>>
,因为它需要根据表达式知道属性名称。
为什么要
将其存储为具有 Y/N 值的字符串?
我不知道您是否可以使用 CheckboxFor() 执行此操作 - 您可能需要使用常规复选框,并确保它被禁用并且值MyString == "Y"
,该值应根据您的存储选项返回 true 或 false。
但是,更明智的做法是在进入数据库的途中将 Y/N 更改为 true/false,这样您就可以更实际地使用数据。
怎么样:
@Html.CheckBoxFor(Model => Model.MyString=="Y", new { @Readonly = "只读" })
这可能会起作用。
这种简单的方法工作正常
@Html.CheckBox("IsActive", Model.MyString == "Y" ? true : false)
string stringValue = "true";
bool value;
bool.TryParse(stringValue, out value);
或 ASP.NET
@Html.CheckboxFor( model => C bool.Parse(model.MyString))