2016-08-15 79 views
0

將我的整個模型從下拉列表傳遞到JavaScript更改事件的最佳方式是什麼?我花了幾個小時在這個沒有運氣將模型傳遞給來自Kendo的JavaScript更改事件DropdownList

@model InputApp.DropdownModel 

@(Html.Kendo().DropDownListFor(m => m) 
     .Name(Model.Name) 
     .Text(Model.PlaceHolder) 
     .BindTo(Model.ListItems) 
     .DataTextField("Text") 
     .DataValueField("Value") 
     .Enable(Model.Enabled) 
     .Events(e => 
     { 
      e.Change("dropdown_change"); 
     }) 
     .HtmlAttributes(new {@id= Model.ID.ToString() }) 
) 



function dropdown_change() { 

} 

任何幫助或只是指向我的好資源將不勝感激。

感謝

回答

0

沒有辦法到整個模型傳遞到JavaScript處理,因爲當你使用ASP.Net幫助創建下拉列表中的模型actally不綁定。輔助輸出的等價物將只是用於生成包含數據項的html的JavaScript代碼。但是,您可以得到的數據項的信息,您將需要select事件,而不是change

.Events(e => 
{ 
    e.Select("onSelect"); 
}) 

而且在JavaScript

function onSelect(e) { 
    var dataItem = this.dataItem(e.item); 
    console.log("event :: select (" + dataItem.Text + " : " + dataItem.Value + ")"); 
} 

telerik demo的細節

另一種辦法是通過整個模型到客戶端並使用kendo JavaScript進行綁定,請參閱sample

+0

謝謝!這已經流露出一些光芒!非常感激!因此,沒有辦法通過完整的模型,而是最好從輸入屬性中檢索數據,就像您演示的那樣,歡呼! – MCSD