如何更改KendoUI DataSource从GET读取到POST请求?

时间:2013-07-04 09:57:02

标签: ajax kendo-ui

我需要帮助将我的下拉列表的Kendo UI DataSource从GET请求更改为POST请求。

@(Html.Kendo().DropDownListFor(m => m.Id)
.Name("PVDropDownList_Hotel")
.DataSource(datasource =>
                {
                    datasource.Read("GetMyHotels", "Hotel");
                })    
.DataTextField("Name")
.DataValueField("Id")
.Events(events =>
            {
                events.Change("PVDropDownList_Hotel_OnChange");
                events.Select("PVDropDownList_Hotel_OnSelect");
            })
.AutoBind(false)

2 个答案:

答案 0 :(得分:13)

asp.net mvc wrapper的答案

@(Html.Kendo().DropDownListFor(m => m.Id)
.Name("PVDropDownList_Hotel")
.DataSource(datasource =>
            {
                datasource => datasource.read(r => r.Action("GetMyHotels", "Hotel").Type(HttpVerbs.Post)) 
            })    
.DataTextField("Name")
.DataValueField("Id")
.Events(events =>
        {
            events.Change("PVDropDownList_Hotel_OnChange");
            events.Select("PVDropDownList_Hotel_OnSelect");
        })
.AutoBind(false)

答案 1 :(得分:1)

您可以在Kendo dropdownlist demo - remote datasource bind

中执行此操作
$(document).ready(function() {
    $("#PVDropDownList_Hotel").kendoDropDownList({
        dataTextField: "Name",
        dataValueField: "Id",
        dataSource: {
            transport: {
                read: {
                    dataType: "jsonp",
                    url: "/Hotels/GetMyHotels",
                }
            }
        }
    });
});