我希望能得到一些帮助。我有一个字符串值 - 将返回为 Y 或 N。在页面上,我想将其转换并显示为页面上的只读复选框。
我试过了
@Html.CheckboxFor( model => Convert.ToBoolean(MyString))
但它不喜欢那样。有没有人知道如何实现这一点。我需要在我的 c# 控制器页面中对我的字符串进行转换为 bool 吗?
我希望能得到一些帮助。我有一个字符串值 - 将返回为 Y 或 N。在页面上,我想将其转换并显示为页面上的只读复选框。
我试过了
@Html.CheckboxFor( model => Convert.ToBoolean(MyString))
但它不喜欢那样。有没有人知道如何实现这一点。我需要在我的 c# 控制器页面中对我的字符串进行转换为 bool 吗?
在您的模型上创建一个进行转换的字段。CheckBoxFor
期望一个,Expression<Func<TModel, Boolean>>
因为它需要根据表达式知道属性名称。
为什么将其存储为具有 Y/N 值的字符串?
我不知道您是否可以使用 CheckboxFor() 来做到这一点 - 您可能需要使用常规复选框,并确保它被禁用,并且该值MyString == "Y"
应该根据您的存储选项返回 true 或 false。
不过,更明智的做法是在进入数据库的过程中将 Y/N 更改为 true/false,这样您就可以更实际地使用数据。
关于什么:
@Html.CheckBoxFor(Model => Model.MyString=="Y", new { @Readonly = "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))