2014-10-06 3 views
0

항목에서 설명한대로 문제가 발생했습니다.아약스가 제대로 작동하지 않는 다른 컨트롤러에서 호출하는 방법

난 Ajax로 DataSource에 (데이터베이스)와 연결 검도 UI

http://demos.telerik.com/aspnet-mvc/dropdownlist/serverfiltering

에서 DROPDOWNLIST를 사용한다.

이제 뷰와 동일한 컨트롤러에 메서드를 배치하면 dropdownList에 아무런 문제없이 데이터가 전달됩니다. 하지만 처음에는 다른 컨트롤러에 배치되었고 다른 컨트롤러에서 컨트롤러를 초기화 한 경우에만 데이터를 가져 왔습니다. 그 이유

이 이
 public ActionResult GetGroups() 
    { 
     var list = new List<string>(); 

     foreach (var item in _repositorySpisGrup.Select()) 
     { 
      list.Add(item.Nazwa); 
     } 

     return Json(list, JsonRequestBehavior.AllowGet); 
    } 

사람이 말해 줄 수 : 여기

는 방법?

그리고이 문제를 피하려면 어디에서 여러 가지 뷰에서 호출 할 수있는 액션 메서드를 사용해야합니까?

건배!

EDIT (partialView 배치)의 메뉴에 대한

번호 :

  @(Html.Kendo().DropDownList() 
      .Name("Group") 
      .Value(Model.Group) 
      .DataSource(source => 
      { 
       source.Read(read => 
       { 
        read.Action("GetGroups", ViewContext.RouteData.GetRequiredString("controller")); 
       }) 
       .ServerFiltering(true); 
      }) 
       ) 

I는 I 뷰와 같은 제어기에 동작 방법을 복사하기 때문에이 동작하는 코드 말했듯 . 문제는 다른 컨트롤러에서 Json 데이터를 가져 오는 것입니다.

+0

드롭 다운의 코드는 무엇입니까? –

+0

'read.Action ("GetGroups", "Controller2");'을 사용할 때 작동하지 않습니다. Fiddler로 아약스 요청을 확인하십시오. – nZeus

+0

모든 것이 당신과 함께합니다. 생성 된 ajax url + ajax 요청을 확인하십시오. – nZeus

답변

0

문제점이 무엇인지 알아 냈습니다. 처음에는 이것을 알지 못했습니다. 액션 메소드는 [Authorize] 속성을 가진 컨트롤러에 이전에 배치되었고, 권한이없는 곳에서 메소드를 호출했습니다. 오류가 발생하지 않았으므로 찾아 내기가 매우 어려웠습니다.

관련 문제