3

我有一个响应提交按钮的表单。

我有一个复选框,如下所示:

  @Html.CheckBoxFor(m => m.CheckBoxValue)

如果检查是,我怎么能得到,否则最好在我的模型中作为字符串..

  public bool CheckBoxValue { get; set; } OR
  public string CheckBoxValue { get; set; }

请帮忙。

谢谢

更新

这是要走的路。

   @Html.CheckBoxFor(m => m.CheckBoxValue)

   public bool CheckBoxValue { get; set; } 
4

1 回答 1

3

您是否只是在寻找用户友好的价值显示?这应该发生在视图中,而不是模型中。像这样的东西:

@Html.CheckBoxFor(m => m.CheckBoxValue)
<!-- some other markup, blah blah blah -->
@(Model.CheckBoxValue ? "Yes" : "No")

模型应尽可能只包含数据的结构和逻辑功能。任何用户友好性或用户看到并与之交互的任何内容都应该出现在视图中。

编辑:

根据您的评论,您可以在模型中添加如下内容:

public string CheckBoxDisplayValue
{
    get
    {
        return CheckBoxValue ? "Yes" : "No";
    }
}

注意:这是对绑定到视图的属性的补充,而不是代替它。该模型需要一个布尔值,该布尔值也是如此。所有这一切都是为模型添加一个只读属性,以显示布尔值的用户友好显示。boolCheckBoxValueCheckBoxValue

但这不推荐。听起来您有一个未在此处的问题中指定的最终目标,并且可能有更好的方法来实现该最终目标。

于 2013-01-31T16:34:17.007 回答