0

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

我试过了

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

但它不喜欢那样。有没有人知道如何实现这一点。我需要在我的 c# 控制器页面中对我的字符串进行转换为 bool 吗?

4

5 回答 5

1

在您的模型上创建一个进行转换的字段。CheckBoxFor期望一个,Expression<Func<TModel, Boolean>>因为它需要根据表达式知道属性名称。

于 2012-04-30T09:32:00.683 回答
0

为什么将其存储为具有 Y/N 值的字符串?

我不知道您是否可以使用 CheckboxFor() 来做到这一点 - 您可能需要使用常规复选框,并确保它被禁用,并且该值MyString == "Y"应该根据您的存储选项返回 true 或 false。

不过,更明智的做法是在进入数据库的过程中将 Y/N 更改为 true/false,这样您就可以更实际地使用数据。

于 2012-04-30T09:30:25.303 回答
0

关于什么:

@Html.CheckBoxFor(Model => Model.MyString=="Y", new { @Readonly = "readonly" })

这可能有效。

于 2012-04-30T09:31:36.417 回答
0

这种简单的方法效果很好

@Html.CheckBox("IsActive", Model.MyString == "Y" ? true : false)
于 2015-01-20T20:05:14.293 回答
-1
string stringValue = "true";
bool value;
bool.TryParse(stringValue, out value);

或在 ASP.NET 中

@Html.CheckboxFor( model => C bool.Parse(model.MyString))
于 2012-04-30T09:29:27.460 回答