Как вернуть результат в частичное представление с сеткой кендо и текстовыми полями кендо

У меня проблема с возвратом значений в мое представление для сетки и полей кендо.

Раньше у меня была только сетка кендо в моем частичном представлении, и поэтому я использовал приведенный ниже код для возврата значений моей сетки:

public virtual ActionResult GetValues(long Id1, [DataSourceRequest]DataSourceRequest request)
{
   return Json(ViewModel.List<Another_View_Model>.ToDataSourceResult(request));
}

Структура моей модели просмотра выглядит следующим образом

ViewModel 
{
    public long Id { get; set; }
    public List<Another_View_Model> Another_View_Model { get; set; }
}

Но теперь я добавляю текстовые поля кендо, флажки в одно и то же частичное представление и хотел бы также возвращать значения сервера в эти поля при возврате значений сетки.

Структура моей модели просмотра выглядит следующим образом

ViewModel 
{
    public long Id { get; set; }
    public List<Another_View_Model> Another_View_Model { get; set; }
    public string textboxField { get; set; }
}

В моем контроллере я делаю следующие изменения, но значения поля моего текстового поля не возвращаются в представление.

public virtual PartialViewResult GetValues(long Id1)
{
   return PartialView("_PartialView", ViewModel);
}

Может ли кто-нибудь указать мне, где я делаю неправильно, или есть лучший способ вернуть результат для элементов сетки и кендо одновременно в одной и той же модели.

Моя структура просмотра выглядит следующим образом:

@model ViewModel

  @(Html.Kendo().TextBoxFor(p => p.textboxField)
                              .Name("TextBox")
                    )

 @(Html.Kendo().Grid<Another_View_Model>()
                         .Name("KendoGrid")

Любая помощь в этом приветствуется. Заранее спасибо!!


person Evolving Techie    schedule 02.04.2014    source источник
comment
я думаю, что вместо «PartialViewResult» используйте «ActionResult», а вместо «PartialView» попробуйте «Просмотр»   -  person Rudresha Parameshappa    schedule 03.04.2014


Ответы (1)


Используйте либо TextBoxFor(p => p.PropertyName), либо TextBox().Name("PropertyName") НЕ используйте оба. Свойство name переопределяет свойство TextBoxFor. Итак, в вашем примере ваше текстовое поле кендо фактически привязано к свойству с именем TextBox вместо textboxField, как вы ожидали.

Верно и обратное: если вы отправляете форму, textboxField модели будет нулевым, а если у вас есть строковый параметр с именем TextBox, он будет заполнен значением текстового поля.

person CSharper    schedule 03.04.2014