asp.net mvc - Value cannot be null. Parameter name: items foreinkey in grid Kendo -
when create/update accout, after summited have error:
"value cannot null. parameter name: items" on "columns.foreignkey(p => p.maquyen, (system.collections.ienumerable)viewbag.quyen, "maquyen", "quyen").title("quyền");"
.columns(columns => // cột muốn hiển thị trên griwd { columns.bound(p => p.tendangnhap).title("tên quyền");//.clienttemplate("<b>#: idtest #</b>"); columns.bound(p => p.email).title("email"); columns.foreignkey(p => p.maquyen, (system.collections.ienumerable)viewbag.quyen, "maquyen", "quyen").title("quyền"); columns.bound(p => p.khoataikhoan).title("trạng thái tài khoản"); columns.template(@<text>sửa</text>).clienttemplate("<a class='k-button k-button-icontext' href='" + url.action("addaccout", "accoutmanagement") + "/#=tendangnhap#'><span class='k-icon k-edit'></span>sửa</a>").title("sửa"); columns.command(command => { command.destroy().text("xóa"); /*command.custom("export_data"); */ }) .title("chức năng"); })
my models:
namespace ts2015.models { using system; using system.collections.generic; using system.componentmodel.dataannotations; using system.componentmodel.dataannotations.schema; using system.data.entity.spatial; using system.web.script.serialization; using system.web.security; [table("tbnguoidung")] public partial class tbnguoidung { [key] [stringlength(10,errormessage="Độ dài tối đa tên đăng nhập là 10 ký tự.")] [display(name="tên đăng nhập")] [required(errormessage="bạn chưa nhập tên đăng nhập")] public string tendangnhap { get; set; } [required(errormessage="bạn chưa chọn quyền")] public int maquyen { get; set; } [datatype(datatype.password)] [stringlength(32, minimumlength = 6, errormessage = "Độ dài tối thiểu là 6 và độ dài tối đa là 32")] [display(name = "mật khẩu")] [required(errormessage = "bạn chưa nhập mật khẩu")] //[membershippassword()] public string matkhau { get; set; } //[compare("matkhau", errormessage="xác nhận mật khẩu không khớp!")] //[datatype(datatype.password)] //[stringlength(32, minimumlength = 6, errormessage="Độ dài tối thiểu là 6 và độ dài tối đa là 32")] //[display(name = "xác nhận mật khẩu")] //[required(errormessage = "bạn chưa nhập xác nhận mật khẩu")] ////[membershippassword()] //public string xacnhanmatkhau { get; set; } [stringlength(50)] [datatype(datatype.emailaddress)] public string email { get; set; } [required] [stringlength(8)] public string randompass { get; set; } public khoataikhoan khoataikhoan { get; set; } [scriptignore] public tbquyen tbquyen { get; set; } } }
my controllers:
public actionresult addaccout(string id) { tbnguoidung user = new tbnguoidung(); if(modelstate.isvalid) { if(id != null) { viewbag.idrequest = id; user = db.tbnguoidungs.first(m => m.tendangnhap == id); viewbag.quyen = new selectlist(db.tbquyens.tolist(), "maquyen", "quyen", user.maquyen); } else { viewbag.quyen = new selectlist(db.tbquyens.tolist(), "maquyen", "quyen"); } } if (!request.isajaxrequest()) return view(user); return partialview(user); } [httppost] public actionresult addaccout(tbnguoidung item, string id) { bool state = false; string mess = ""; if(item != null) { if(id != null) { //foreach (var in id) //{ // //} item.tendangnhap = request.form["username"].trimend(); item.matkhau = dulieuchung.mahoamd5(item.matkhau); item.randompass ="1234zxcv"; item.maquyen = item.maquyen; db.entry(item).state = entitystate.modified; savechanges(db); state = true; mess = "thực hiện sửa thành công!"; } else { var check = db.tbnguoidungs.where(m => m.tendangnhap == item.tendangnhap).firstordefault().tendangnhap; if (check == null) { item.matkhau = dulieuchung.mahoamd5(item.matkhau); item.randompass = "1234zxcv"; item.maquyen = item.maquyen; db.tbnguoidungs.add(item); savechanges(db); state = true; mess = "thực hiện thêm thành công!"; } } //mess = "lỗi!"; return view("listaccout"); }
when debug, item.quyen 1. f5 chrome after error => grid updated me, please! thanks!
Comments
Post a Comment