如何在MVC 5中首次加载页面时检查列表项是否为@ Html.RadioButtonFor,

时间:2015-02-05 01:01:25

标签: asp.net-mvc razor

我的部门表包含 DeptId,DeptName IsSelected 列。

我有两条记录,其中一条记录被选中为假,另一条记录被选中为真。因此,当Isselected为true时,在MVC5中第一次加载页面时,应检查相应记录的值。我有下面的代码,我怎么能修改它来实现这个要求。

@model  RadioButtonForApp_MVC.Models.Employee

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
@using (Html.BeginForm("Index", "Employee", FormMethod.Post))
{
    foreach (var department in Model.Departments)
    {
        @Html.RadioButtonFor(p => p.SelectedDepartments, department.DepartmentName)@department.DepartmentName
    }
<br />
     <input type="submit" value="Submit" />
}

1 个答案:

答案 0 :(得分:0)

这个主题在这里被广泛描述:Correct way to bind an mvc3 radiobutton to a model

但是如果你想要快速解决方案,你应该使用this overload of RadioButtonFor,其最后一个参数是“htmlAttributes”。您可以在那里传递“checked”属性,因此您的代码将如下所示:

foreach (var department in Model.Departments)
{
    var checked = departament.IsSelected ? new {checked="checked"} : new {};
    @Html.RadioButtonFor(p => p.SelectedDepartments, department.DepartmentName,departament.DepartamentName,checked)@department.DepartmentName
}