1,在给一个 弹出层做checkbox自动选中时,ViewBag传递的时 类型,用不了lambda表达式,代码如下,
@foreach (var perm in ViewBag.allPerms)
{
<input type=\"checkbox\" id=\"permissionIds_@perm.Id\"
name=\"PermissionIds\" value=\"@perm.Id\"
checked=\"@(ViewBag.RolePerms.Select(r=>r.Id).Contains(perm.Id))\"/>
<label for=\"permissionIds_@perm.Id\">@perm.Name</label>
}
2,于是在弹出层就不写foreach循环遍历checkbox,直接在点击编辑事件时的弹出层中 ‘添加层弹出后的成功回调方法success\' ,在里面通过ajax填充数据
Control中Edit方法获取数据
//填充角色数据并显示
public ActionResult Edit(long roleId = 0)
{
if (roleId == 0)
{
return Json(new JsonData { State = 0, ErrorMsg = \"角色不存在!\" });
}
var role = RoleService.GetById(roleId);
if (role==null)
{
return Json(new JsonData { State = 0, ErrorMsg = \"角色Id不存在!\" });
}
var allPerms = PermissionService.GetAll();
var rolePerms = PermissionService.GetByRoleId(roleId);
RoleEditGetModel model = new RoleEditGetModel();
model.RolePerms = rolePerms;
model.AllPerms = allPerms;
return Json(new JsonData { State = 1, Data = model });
}
View中 弹出层success方法
success: function ( o, index) {
//填充数据
$.ajax({
url: \"/Role/Edit?roleId=\" + id,
type: \"post\",
dataType: \"json\",
success: function (res) {
if (res.State == 1) {
var html = \"\";
var bool = false;
for (var i = 0; i < res.Data.AllPerms.length; i++) {
bool = false;
for (var j = 0; j < res.Data.RolePerms.length; j++) {
if (res.Data.RolePerms[j].Id == res.Data.AllPerms[i].Id) {
bool = true;
break;
}
}
html += \' <input \' + (bool ? \"checked\" : \"\") + \' type=\"checkbox\" id=\"permissionIds_\' + res.Data.AllPerms[i].Id + \'\" name=\"PermissionIds\" value=\"\' + res.Data.AllPerms[i].Id + \'\" />
<label for=\"permissionIds_\' + res.Data.AllPerms[i].Id + \'\">\' + res.Data.AllPerms[i].Name + \'</label>\'
}
$(\"#formValue\").html(html);
}
},
error: function () {
.alert(\'网络请求失败!\', {
: \'提示框\',
icon: 0,
});
}
});
},
总结
以上所述是小编给大家介绍的在 弹出层中通过ajax返回html拼接字符串填充数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
继续阅读与本文标签相同的文章
上一篇 :
分析易语言程序误报原因
-
2pc 3pc 详述
2026-05-19栏目: 教程
-
云产品权限细粒度设置
2026-05-19栏目: 教程
-
一起聊聊图像质量和美学评估的数据集
2026-05-19栏目: 教程
-
源码分析Node的Cluster模块
2026-05-19栏目: 教程
-
Maven使用经验总结(持续更新)
2026-05-19栏目: 教程
