ASP.NET MVC 3 - 将字符串值显示为布尔值

本文关键字:显示 布尔值 字符串 NET MVC ASP | 更新日期: 2023-09-27 18:32:36

我希望得到一些帮助。 我有一个字符串值 - 将返回为 Y 或 N。 在页面上,我想转换它并将其显示为页面上的只读复选框。

我试过了

@Html.CheckboxFor( model => Convert.ToBoolean(MyString)) 

但它不喜欢这样。 有没有人知道我如何实现这一目标。 我是否需要在 c# 控制器页面中的字符串上转换为布尔值?

ASP.NET MVC 3 - 将字符串值显示为布尔值

在模型上创建一个执行转换的字段。 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))