“详细信息”视图中的MVC3 HTML.Checkbox

时间:2011-03-14 14:49:34

标签: entity-framework asp.net-mvc-3 html-helper

我几乎没有发现如何利用HTML帮助程序呈现“详细信息”视图。第一种情况是我在SQL Server中有一些位字段在我的pocos中是bool。这一切都适用于创建和编辑视图,但如果我想要一个复选框显示在详细信息视图中,它具有适当的状态设置但只读...我无法弄清楚如何做到这一点。我有这个:

<div class="display-field">@Html.CheckBox("laptops", Model.laptops, new { @readonly = "true" }) </div>

虽然它正确呈现,但复选框不是只读。

处理创建/编辑时DropDowns的字段,但是详细信息视图的最佳实践又如何呢?将FK解析为代表该值的可显示名称的最佳方法是什么?

提前致谢

2 个答案:

答案 0 :(得分:3)

呈现只读复选框的正确方法是:

@Html.CheckBoxFor(x => x.laptops, new { @readonly = "readonly" })

请注意强类型CheckBoxFor助手而不是CheckBox的使用情况,因为您已经拥有强类型视图。显然,为了实现这一点,模型上的laptops属性必须是boolean类型,因为这是唯一可能对复选框有意义的类型。

答案 1 :(得分:1)

当您设置READONLY时,它只是阻止用户对基础数据进行任何更改,但他们仍然可以选中/取消选中该字段。 设置DISABLED属性以防止它们与控件交互,如下所示:

 @Html.CheckBox("check", item.CheckedOrNot, new { @disabled = true })
祝你好运,欢呼!