Gib*_*boK 27 asp.net-mvc razor asp.net-mvc-3
我正在使用MVC 3和Razor
目前我正在使用
@model MyProject.ViewModels.MyViewModel
@foreach (var item in Model.MyProperty)
{
<tr>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.AdvSlotId }) |
@Html.ActionLink("Details", "Details", new { id = item.AdvSlotId }) |
@Html.ActionLink("Delete", "Delete", new { id = item.AdvSlotId })
</td>
<td>
@item.AdvSlotId
</td>
<td>
@item.Name
</td>
<td>
@item.Description
</td>
<td>
@Html.CheckBox(item.IsPublished, new { @disabled = "disabled" })
</td>
<td>
@item.Notes
</td>
</tr>
}
Run Code Online (Sandbox Code Playgroud)
查看模型:
namespace MyProject.ViewModels
{
public class MyViewModel
{
public MyViewModel(List<AdvSlot> advSlots)
{
MyProperty= advSlots;
}
public List<AdvSlot> MyProperty { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
在我的模型中显示属性的复选框.因为我做错了所以我只能显示一个像TRUE的文本.
你能告诉我如何使用Razor创建CheckBox吗?我还需要它作为READONLY.
谢谢你的帮助.
Lef*_*tyX 40
应该是这样的:
@Html.CheckBoxFor(m => m.IsPublished, new { @disabled = "disabled" })
Run Code Online (Sandbox Code Playgroud)
更新:
假设您的类AdvSlot包含一个属性,IsPublished您可以在循环中编写:
<td>
@Html.CheckBox(item.AdvSlotId + "_IsPublished", item.IsPublished, new { @disabled = "disabled" });
</td>
Run Code Online (Sandbox Code Playgroud)
Anu*_*Roy 21
@Html.CheckBoxFor(model => model.IsActive, new { onclick = "return false" })
Run Code Online (Sandbox Code Playgroud)
这应该工作.但是我遇到了@disabled ="disabled"的问题.如果我默认选中复选框并同时禁用复选框,则不会发布其值.在控制器,它将是假的.使用"return false"用户将无法更改该值,并且它还将发布默认情况下已设置为加载的值.
我正在使用 MVC4,你可以用一个简单的东西得到同样的效果
@Html.DisplayFor(m => m.IsPublished)
Run Code Online (Sandbox Code Playgroud)
无需关心选择复选框或自己设置禁用。不确定,如果这是 MVC4 中的新功能,那么它可能也适用于 MVC3。
| 归档时间: |
|
| 查看次数: |
56965 次 |
| 最近记录: |