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

How to make listitem checked for @Html.RadioButtonFor when page loads firstly in MVC 5,

我的部门 table 有 DeptId、DeptNameIsSelected 列。

我有两条记录,其中一条记录 isselected 为假,另一条记录 isselected 为真。所以现在当 Isselected 为真时,在 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" />
}

此主题在此处被广泛描述: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
}