Tôi đang xây dựng ứng dụng MVC đầu tiên của tôi, tôi có một bảng trong cơ sở dữ liệu chứa 3 cột:Từ điển thông số chứa một mục null cho tham số 'id' kiểu nullable 'System.Int32'
-
Id
- → tiểu học then chốt
- Tên đăng nhập
- mật khẩu
Khi tôi nhấp vào liên kết chỉnh sửa chỉnh sửa một kỷ lục, nó ném ngoại lệ sau đây:
Từ điển thông số chứa mục nhập rỗng cho tham số 'id' của loại không thể loại bỏ 'System.Int32' cho phương thức 'System.Web.Mvc.ActionResult Edit (Int32)' trong 'MvcApplication1.Controllers.UserController'. Tham số tùy chọn phải là loại tham chiếu, loại có thể không có giá trị hoặc được khai báo là tham số tùy chọn. tên Parameter: thông số
Đây là chỉnh sửa mã của tôi:
public ActionResult Edit(int id, User collection)
{
UserDBMLDataContext db = new UserDBMLDataContext();
var q = from abc in db.User_Login_Details
where abc.Id == id
select abc;
IList lst = q.ToList();
User_Login_Details userLook = (User_Login_Details)lst[0];
userLook.Username = collection.UserName;
userLook.Password = collection.Password;
db.SubmitChanges();
return RedirectToAction("Index");
}
Nói chung, đây là về URL sai mà bạn đang xây dựng cho trang chỉnh sửa, chính xác hơn - về thông số id của URL. Kiểm tra trình duyệt của bạn, bạn nhận được URL nào khi bạn có loại ngoại lệ này và vui lòng đăng nó ở đây. – Dmytro