2012-12-26 29 views
5

Tôi đang sử dụng lưới giao diện người dùng Kendo trên một trong các trang của tôi.Không có hàm tạo tham số nào được định nghĩa cho đối tượng này. trong lưới kendo

Tôi muốn hiển thị tất cả người dùng trong lưới bằng cách sử dụng đối tượng thành viên.

@model IEnumerable<MembershipUser> 

@(Html.Kendo().Grid(Model) 
.Name("Gridusers") 
.Columns(columns => 
{ 
    columns.Bound(o => o.UserName).Width(100); 

}) 
.Sortable() 
.Filterable(filtering => filtering.Enabled(true))) 

Khi tôi đến trang này sau khi nhận được danh sách người dùng từ điều khiển nó được đưa ra lỗi

"Không xây dựng parameterless định nghĩa cho đối tượng này."

Nó hoạt động tốt khi tôi đang sử dụng lưới Telerik MVC cũ nhưng không phải với lưới Kendo UI.

Bất kỳ ai có thể giúp tôi không?

Trả lời

8

Lưới giao diện người dùng Kendo cần mô hình bị ràng buộc để có một hàm tạo tham số vì nó khởi tạo một thể hiện của nó. Trong trường hợp của bạn, bạn có thể thêm một constructor rỗng vào lớp MembershipUser:

public class MembershipUser 
{ 
    public MembershipUser() 
    { 
    } 

    /* other methods */ 
} 
+0

Cảm ơn Atanas Korchev, Nhưng tôi đang sử dụng System.Web.Security và không muốn tạo lớp con cho việc này. – user1927965

+0

Xem trả lời của tôi. Mô hình của bạn cần phải có một hàm tạo parameterless. –

+0

Tôi không thể tạo hàm tạo trong lớp MembershipUser vì mặc định nó bị khóa do System.Web.Security. Tôi đang sử dụng MVC4 asp.net. – user1927965

0

Nó cũng nên được rõ ràng rằng Telerik là sẽ xây dựng một thể hiện của các lớp học bị ràng buộc cũng như các thành viên lớp học. Ví dụ: nếu lưới của bạn bị ràng buộc với Chó ...

public class Dog { 
    public DogKind Kind { get; set; } 
    public Dog() { 
    } 
} 

thì lớp "DogKind" của bạn cũng phải có hàm tạo mặc định.

Các vấn đề liên quan