基于mvc模型设置html复选框复选值

Setting html checkbox checked value based on mvc model

本文关键字:复选框 html mvc 模型 设置 基于      更新时间:2023-09-26

我有一个Edit视图,其中有一些复选框,需要根据模型中的值填充。我想避免使用不同的CheckBoxListFor扩展,因为我相信有一种更简单的方法可以做到这一点

我试图用javascript设置值,但最终选中了所有复选框,这是不可行的。这就是我尝试的:

function SetAdminCheckBox() {
    var contains = @Model.RoleNames.Contains("Admin");
    var True = true;
    var result;
    result = contains ? 'checked' : '';
    return result;
}
<input type="checkbox" name="roleNames" value="Admin" checked="SetAdminCheckBox()"/>

我找到了一种方法,使用一些剃刀语法:

<input type="checkbox" name="roleNames" value="Admin" @if (Model.RoleNames.Contains("Admin")) {<text>checked="checked"</text>} />

您不能像那样使用"checked"属性,checked没有值,如果它存在,它要么存在,要么不存在,否则复选框被选中,否则不

使用if编写两个版本,一个将输出选中的属性,另一个不输出。