0
我遇到了如主题中所述的问题。使用ajax时不同控制器中的调用方法无法正常工作
我用DROPDOWNLIST从剑道UI
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);
}
谁能告诉我这是为什么?
为了避免这个问题,我应该把我的操作方法从许多不同的视图中调用?
干杯!
编辑:
代码的下拉(置于partialView):
@(Html.Kendo().DropDownList()
.Name("Group")
.Value(Model.Group)
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetGroups", ViewContext.RouteData.GetRequiredString("controller"));
})
.ServerFiltering(true);
})
)
就像我说这是一个工作码,因为我复制操作方法相同的控制器作为视图。问题是当我从另一个控制器获取Json数据时。
什么是您的下拉菜单的代码? – 2014-10-06 10:50:38
当你使用'read.Action(“GetGroups”,“Controller2”);'?使用Fiddler验证您的ajax请求。 – nZeus 2014-10-06 11:18:11
一切都很好,你的行动方法。检查生成的ajax url + ajax请求 – nZeus 2014-10-06 11:20:35