使用KendoUI 2012和VS 2012定义后ajax调用

使用KendoUI 2012和VS 2012定义后ajax调用,ajax,asp.net-mvc-4,visual-studio-2012,kendo-ui,Ajax,Asp.net Mvc 4,Visual Studio 2012,Kendo Ui,我是Visual Studio和.net的新手,如果我的一些基本知识有误,请原谅 这就是我想要做的:使用ajax调用填充kendoui dropdownlist的内容。现在我明白了,使用POST操作更可取,但我无法让它发挥作用 以下是我在视图中的代码: @(Html.Kendo().DropDownListFor(model => model.TypeId) .DataTextField("Shortname") .DataValueField("Id")

我是Visual Studio和.net的新手,如果我的一些基本知识有误,请原谅

这就是我想要做的:使用ajax调用填充kendoui dropdownlist的内容。现在我明白了,使用POST操作更可取,但我无法让它发挥作用

以下是我在视图中的代码:

@(Html.Kendo().DropDownListFor(model => model.TypeId)
      .DataTextField("Shortname")
      .DataValueField("Id")
      .DataSource(source => source.Read(read => read.Action("GetObjectTypes", "ObjectType")))
)    
这是我的控制器代码:

[HttpPost] // use post to prevent 'leeching' 
public JsonResult GetObjectTypes()
{
    var objectTypes = _objecttypeRepository.All;
    return Json(objectTypes, JsonRequestBehavior.DenyGet);
}
Ajax调用根本无法访问GetObjectTypes。 如果我删除[HttpPost]和“JsonRequestBehavior.DenyGet”,那么这段代码就可以正常工作


非常感谢。

当ComboBox/AutoComplete/Grid等组件获取数据时,它们总是使用GET,没有任何更改的选项。

GET实际上是检索资源(即下拉列表数据)的首选方法,请参阅“发布”通常用于提交数据和创建新资源

我自己还没有做过,但是如果您真的需要使用“POST”,您可以在数据源配置中指定它,请参阅kendo.data.DataSource的