Для этого объекта не определен конструктор без параметров. в сетке кендо

Я использую сетку Kendo UI на одной из своих страниц.

Я хочу показать всех пользователей в сетке, используя объект членства.

@model IEnumerable<MembershipUser>

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

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

Когда я захожу на эту страницу после получения списка пользователей от контроллера, это дает ошибку

«Для этого объекта не определен конструктор без параметров».

Он отлично работает, когда я использую старую сетку Telerik MVC, но не с сеткой Kendo UI.

Может кто-нибудь помочь мне?


person user1927965    schedule 26.12.2012    source источник


Ответы (2)


Сетка пользовательского интерфейса Kendo требует, чтобы связанная модель имела конструктор без параметров, потому что он создает ее экземпляр. В вашем случае вы можете добавить пустой конструктор в класс MembershipUser:

public class MembershipUser
{
     public MembershipUser()
     {
     }

     /* other methods */
}
person Atanas Korchev    schedule 26.12.2012
comment
Спасибо, Атанас Корчев, но я использую System.Web.Security и не хочу создавать для этого подкласс. - person user1927965; 26.12.2012
comment
Смотрите мой ответ. Ваша модель должна иметь конструктор без параметров. - person Atanas Korchev; 26.12.2012
comment
Я не могу создать конструктор в классе MembershipUser, потому что по умолчанию он заблокирован из-за System.Web.Security. Я использую MVC4 asp.net. - person user1927965; 26.12.2012
comment
Я повторю. Сетке Kendo UI нужен конструктор без параметров. Если в вашем классе его нет, вы не можете его использовать. Так просто, как, что. - person Atanas Korchev; 26.12.2012

Также должно быть ясно, что Telerik собирается создать экземпляр связанных классов, а также членов этих классов. Например, если ваша сетка привязана к Dogs...

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

тогда ваш класс DogKind также должен иметь конструктор по умолчанию.

person Bob Morley    schedule 14.10.2013