作者: | 来源:互联网 | 2023-08-06 08:31
不同身份可操作不同的控制器方法,permission为这些控制器id的数组。我需要在修改的时候combgrid的数据绑定时显示该身份有的permission为选中的值,如上图。
不同身份可操作不同的控制器方法
,permission为这些控制器id的数组。我需要在修改的时候combgrid的数据绑定时显示该身份有的permission为选中的值,如上图。
url: '/Action/select?actiOnNum=@item.permission',columns :[[{field:'ck',checkbox:true},{field:'actionNum',title:'ID',width:40},{ field :'action',title:'控制器方法',width:100}, { field: 'comment',title:'备注',width:200}]],multiple:true"
/>
这是控制器方法的数据绑定的方法:
public static object select(string id)
{
OAEntities db = new OAEntities();
string[] acs = null;
int a; int.TryParse(id, out a);
var selectRt = db.t_action.Where(n => 1 == 1);
if (id != null && id != "")
{
acs = id.Split(',');
for (int i = 0; i < acs.Length; i++)
{
int? action = 0;
if (acs[i] != null && acs[i] != "")
action = int.Parse(acs[i]);
selectRt = selectRt.OrderBy(c => c.actionNum).Where(n => n.actionNum == action);
}
var rst = selectRt.Select(e => new
{
e.actionNum,
e.action,
e.comment
});
return rst.ToArray();
}
return selectRt.ToArray();
}
但是这样一次只能查一条数据。。我想绑定的是所有该身份有的控制器ID。
2 个解决方案
噗,既然是问问题,表达要反复斟酌以便人最短时间内理解
反正没看懂你的问题,acs应该可以使用Contains方法
给你一个js扩展,直接用就好了
tringToList = function (value) {
if (value != undefined && value != '') {
var values = [];
var t = value.split(',');
for (var i = 0; i < t.length; i++) {
values.push('' + t[i]);
}
return values;
} else {
return [];
}
};