MVC Html 助手多选复选框
MVC Html Helper MultiSelect CheckBox
public ActionResult Edit(int? id)
{
ViewBag.Role = new SelectList((from t in db.Roles where t.RoleID != 1 && t.RoleID != 2 select t), "RoleID", "RoleName");
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
User user = db.Users.Find(id);
if (user == null)
{
return HttpNotFound();
}
return View(user);
}
ViewBag.Role是将所有角色值生成到多选复选框中。
<div class="form-group">
@Html.Label("Roles", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("Role", null, htmlAttributes: new { @multiple = "multiple", @class = "form-control" })
</div>
</div>
<script type="text/javascript">
$(function () {
$('#Role').multiselect({
includeSelectAllOption: true
});
});
MultiSelect CheckBox 基本上如下图所示。
这是我的问题,我该如何预先检查用户已有的角色??
例如,x 用户具有管理者角色,因此在编辑页面管理者复选框时将被选中。
你可以这样做:
$('select').multiselect({includeSelectAllOption: true});
// Get your data
var userRoles="1,3"; // You can use a ViewBag like ViewBag.UserRoles for roles of user
// Split data by ","
var userRolesArray=userRoles.split(",");
// Set dataArray
$("select").val(userRolesArray);
// Refresh for cheking default values
$("select").multiselect("refresh");
您可以使用 ViewBag
之类的 ViewBag.UserRoles
作为用户角色并将其填写在您的 Action
中。
public ActionResult Edit(int? id)
{
ViewBag.Role = new SelectList((from t in db.Roles where t.RoleID != 1 && t.RoleID != 2 select t), "RoleID", "RoleName");
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
User user = db.Users.Find(id);
if (user == null)
{
return HttpNotFound();
}
return View(user);
}
ViewBag.Role是将所有角色值生成到多选复选框中。
<div class="form-group">
@Html.Label("Roles", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("Role", null, htmlAttributes: new { @multiple = "multiple", @class = "form-control" })
</div>
</div>
<script type="text/javascript">
$(function () {
$('#Role').multiselect({
includeSelectAllOption: true
});
});
MultiSelect CheckBox 基本上如下图所示。
这是我的问题,我该如何预先检查用户已有的角色?? 例如,x 用户具有管理者角色,因此在编辑页面管理者复选框时将被选中。
你可以这样做:
$('select').multiselect({includeSelectAllOption: true});
// Get your data
var userRoles="1,3"; // You can use a ViewBag like ViewBag.UserRoles for roles of user
// Split data by ","
var userRolesArray=userRoles.split(",");
// Set dataArray
$("select").val(userRolesArray);
// Refresh for cheking default values
$("select").multiselect("refresh");
您可以使用 ViewBag
之类的 ViewBag.UserRoles
作为用户角色并将其填写在您的 Action
中。