2016-09-22 63 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>甚至在模型中創建一個額外的字段,並修改它不起作用。

看來,不可能設置任何輸入值,每個輸入值將被實際發送到服務器,並且不僅在視圖中顯示。 至少以不這樣做是這樣的:

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

正如我無法相信這是一個普遍的問題,我懷疑劍道時間表/模板這裏涉及。

如果你想知道爲什麼我想操縱輸入療法首位字段值,這裏的東西:

的時間表,我想用自定義模板對應於一個事件來創建。我想將計劃的默認值標題設置爲存儲在事件中的字段的值。由於此模型與事件模型之間沒有關聯,所以在日程安排模型已經安裝之後,我只能得到這個值。 不過,我覺得我可以簡單地要求從事件由ajax所需的值,並更新<input>但是我錯了......

+1

請注意,模型 - 視圖 - 控制器標籤是關於模式的問題。 ASP.NET-MVC實現有一個特定的標籤。 –

回答

2

劍道UI編輯表單通常依靠編輯的文本框,以更新到火change事件底層模型(數據項)。

如果以編程方式操作值,則手動觸發change事件。

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

在另一方面,以編程方式更改模型值的正確方法是通過劍道UI模型的set方法。在打開的編輯表單場景中,您可以在計劃程序的edit事件中獲取模型(event)爲e.event

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

我也嘗試去底層模型,但我在添加事件 –

+0

中搜索,無論如何,我會想出設置方法。 –