2016-09-22 3 views
0

Я использую расписание kendo с помощью настраиваемого шаблона.Манипулированные поля ввода не отправляются на сервер

... 
     .Editable(editable => { editable.TemplateName("_CustomTemplate"); })) 
... 

шаблон

... 
     <div class="k-edit-label"> 
      @(Html.LabelFor(model => model.Title)) 
     </div> 
     <div data-container-for="title" class="k-edit-field"> 
      @(Html.TextAreaFor(model => model.Title, new { @class = "k-textbox", data_bind = "value:title" })) 
     </div> 
    ... 

Любой appoach манипулировать model.Title поле не удается. После привязки значения за js он больше не отправляется на сервер. Значение полей остается пустым или даже не отображается. Я бы сказал, что я попробовал почти все, что мог найти по этой теме, чтобы заставить это работать, но я потерпел неудачу. Также добавление нового <input> или даже создание дополнительного поля в модели и изменение этого не помогло.

Похоже, что невозможно установить любое значение ввода за js, которое фактически будет отправлено на сервер и не только будет отображаться на экране. По крайней мере, не делая это так:

$('#Title').attr('value', data); 
or 
$('#Title').val(data); 

Как я не могу поверить, что это общая проблема, я подозреваю, что кендо график/шаблон участвует здесь.

В случае, если вам интересно, почему я пытаюсь манипулировать поля ввода значения в þér первую очередь, вот вещь:

графика, который я хочу создать с помощью пользовательского шаблона соответствует событию. Я хочу установить значение по умолчанию для расписания для значения поля, которое хранится в событии. Я могу получить это значение только после того, как модель расписания была установлена, поскольку нет никакой связи между этой моделью и моделью событий. я, хотя я мог бы просто попросить нужное значение из события по ajax и обновить <input>, но я был неправ ...

+1

Обратите внимание: тег модели-view-controller предназначен для вопросов о шаблоне. Существует определенный тег для реализации ASP.NET-MVC. –

ответ

2

The редактирования форм Кендо UI обычно полагаются на редактирование текстовых сгореть change событие, чтобы обновить базовая модель (элемент данных).

Если вы программно манипулируете значениями, тогда запустите событие change вручную.

$("#Title").val(data).trigger("change"); 

С другой стороны, правильный способ изменения значений модели программно это с помощью метода set Кендо UI модели. В открытых сценариях редактирования вы можете получить модель (event) как e.event в событии Планировщика edit.

e.event.set("title", data); 
+0

Я также попытался добраться до базовой модели, но в любом случае я искал в событии добавления –

+0

, я бы придумал метод set. –

Смежные вопросы