[英]KendoUI MVC grid pop-up , how to return the value of selected combobox item
我是Kendo UI和javascript的新手。使用MVC Kendo網格在彈出模式下進行編輯。我創建了自定義模板頁面(在EditorTemplates文件夾下),以便在彈出窗口打開時進行編輯。其中有一些文本框和Kendo Combobox小部件該頁面以更新記錄。 來自文本框的值可以發送到控制器,但組合框上所選項目的值不能發送到控制器。我該怎么做?
查看(剃刀)
@model PROJECT.UI.WebService.Proxy.DSrvINFO.PERSONALINFORMATIONS
<div class="row">
<div class="span10">
<div style="overflow-y:scroll;overflow-x:hidden;height: 500px;" >
<table width="100%" cellspacing="5" style="margin: 20px">
<tr>
<td width="10%">
@Html.LabelFor(model => model.NAME)
</td>
<td width="40%">@Html.EditorFor(model => model.NAME)
</td>
<td width="10%">
@Html.LabelFor(model => model.SURNAME)
</td>
<td width="40%">@Html.EditorFor(model => model.SURNAME) </td>
<td width="10%">
@Html.LabelFor(model => model.IDTYPE)
</td>
<td width="40%">
@(Html.Kendo().ComboBox()
.Name("IDTYPES")
.DataTextField("DESCRIPTION").HtmlAttributes(new { style="width:220px"}) /
.DataValueField("REFERENCEID")
// .Filter(FilterType.Contains)
.Placeholder("SELECT")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("Details", "Items", new { Code = "IDTYPE", addEmptyRow = false });
}).ServerFiltering(true);
}))
</td>
</tr>
</table>
</div>
</div>
</div>
控制者
public ActionResult PersonUpdate([DataSourceRequest] DataSourceRequest request,Guid id,string name,string surname,string[] IDTYPES) { ....
這是在彈出窗口上按更新按鈕時從chrome捕獲的示例標頭數據.IDTYPES值來自組合框的選定項目對象。我需要傳遞一些IDTYPE值(例如IDTYPES.CODE,IDTYPES.ID,IDTYPES .REFERENCEID)從視圖添加到控制器。
sort:
group:
filter:
CITIZENNO:-
ID:78ef069f-c31b-4828-81e8-4ede52ee0818
NAME:ABDULAZIZ
SURNAME:AL GARNI
IDTYPES.ID:69bd3ef7-fc80-4f26-a978-963ed670d3fe
IDTYPES.REFERENCEID:57ff1ea9-6cb4-4d7e-abc7-caa367fd4627
IDTYPES.CODE:3
IDTYPES.DESCRIPTION:PASSPORT ID
IDTYPES.PARENTID:00000000-0000-0000-0000-000000000000
IDTYPES.ISSELECTED:false
IDTYPES.COUNT:0
IDTYPES.ISACTIVE:false
IDTYPES.ISDEFAULT:false
IDTYPES[ID]:69bd3ef7-fc80-4f26-a978-963ed670d3fe
IDTYPES[REFERENCEID]:57ff1ea9-6cb4-4d7e-abc7-caa367fd4627
IDTYPES[CODE]:3
IDTYPES[DESCRIPTION]:PASSPORT ID
IDTYPES[PARENTID]:00000000-0000-0000-0000-000000000000
IDTYPES[ISSELECTED]:false
IDTYPES[COUNT]:0
IDTYPES[ISACTIVE]:false
IDTYPES[ISDEFAULT]:false
可以按照文檔中所述使用JQuery檢索ComboBox
的值。 之后,您可以使用Ajax將其發布到您的控制器中:
var selectedValue = $("#IDTYPES").data("kendoComboBox").text();
$.ajax({
url: "@Url.Action(actionName, controllerName)" + "/?id="+userid+"&name="+username+"&surname="+usersurname+"&idtype="+selectedValue,
success: function(){ /*handle success*/},
error: function(){ /*handle error*/}
});
您還需要將“控制器動作”定義更改為以下內容。 據我了解,您不需要ComboBox
所有值,而只需要選擇的值:
public ActionResult PersonUpdate([DataSourceRequest] DataSourceRequest request,Guid id,string name,string surname,string IDTYPE)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.