簡體   English   中英

KendoUI MVC網格彈出窗口,如何返回所選組合框項目的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM