我遇到了主题中描述的问题。
我使用 Kendo UI 中的 dropDownList
http://demos.telerik.com/aspnet-mvc/dropdownlist/serverfiltering
使用 Ajax 连接数据源(来自数据库的数据)。
现在,如果我将方法放在与视图相同的控制器中,那么 dropdownList 可以毫无问题地获取数据。但起初它被放置在另一个控制器中,只有当我在其他视图中初始化该控制器时我才能获取数据。
这是方法:
public ActionResult GetGroups()
{
var list = new List<string>();
foreach (var item in _repositorySpisGrup.Select())
{
list.Add(item.Nazwa);
}
return Json(list, JsonRequestBehavior.AllowGet);
}
谁能告诉我这是为什么?
为了避免这个问题,我应该将可能从许多不同视图调用的操作方法放在哪里?
干杯!
编辑 :
下拉列表的代码(放置在部分视图中):
@(Html.Kendo().DropDownList()
.Name("Group")
.Value(Model.Group)
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetGroups", ViewContext.RouteData.GetRequiredString("controller"));
})
.ServerFiltering(true);
})
)
就像我说的那样,这是一个工作代码,因为我将 Action 方法复制到了与视图相同的控制器中。问题是当我从另一个控制器获取 Json 数据时。