トピックで説明されている問題が発生しました。
Kendo UI の dropDownList を使用します
http://demos.telerik.com/aspnet-mvc/dropdownlist/serverfiltering
AjaxでdataSource(データベースからのデータ)に接続します。
メソッドをビューと同じコントローラーに配置すると、ドロップダウンリストは問題なくデータを取得できるようになりました。しかし、最初は別のコントローラーに配置され、他のビューでそのコントローラーを初期化した場合にのみデータを取得していました。
メソッドは次のとおりです。
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 データを取得するときです。