0

我遇到了主题中描述的问题。

我使用 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 数据时。

4

1 回答 1

0

我弄清楚了问题所在。起初我没有注意到这一点。操作方法之前放置在具有 [Authorize] 属性的控制器中,我是从未经授权的地方调用该方法。没有引发错误,因此很难找到。

于 2014-10-06T12:16:06.000 回答