2010-08-16 2 views
0
나는 사용자가 달력에 표시됩니다 ASP.NET MVC에서 사이트 작업, 특정 달력 날짜를 클릭하고

는 다음 함수 호출 :AJAX Post를 사용하여 ASP.NET MVC 컨트롤러 작업을 호출하고 새보기를 반환하는 방법?

function selectHandler(event, data) { 
      var myRequest = new Request.HTML({ 
       url: '/Calendar/EventList', 
       method: 'post', 
       data: { datedata: data.toString() }, 
       update: $('postback'), 
      }).send(); 
     }; 

내가 호출 할 Mootools의 AJAX 클래스를 사용하고 내

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult EventList(string datedata) 
    { 

       CalendarViewData viewData = new CalendarViewData 
       { EventList = GetEventsList(datedata) }; 

       return View(viewData); 
    } 

내가 이벤트 목록 행동에 중단 점을 설정하고,보기를 반환하는 것을 볼 수 있지만, 브라우저는 초기 페이지에 남아없고, 결코로 리디렉션 컨트롤러 액션/달력/이벤트 목록은 다음과 같습니다 이 EventList 액션에 의해 반환 된 페이지.

필자는 자바 스크립트 기능을 더 추가해야한다고 생각하지만 확실하지 않습니다. 어떤 아이디어?

답변

1

브라우저가 리디렉션되는 이유는 무엇입니까? 뷰를 반환하는 컨트롤러 액션에 AJAX 요청을 보내고 있습니다 (부분 뷰를 반환해야 할 수도 있음). 그러면 DOM의 일부 요소를 업데이트하는 데 사용됩니다. 리디렉션하려는 경우 간단한 앵커 태그 (POST가 필요한 경우 form)를 사용할 수 있으므로 자바 스크립트를 사용할 필요가 없습니다.

+0

감사합니다. 내 AJAX 지식은 제한되어 있습니다. 결국 브라우저를 SelectHandler의/Calendar/EventList로 향하게하고 url의 매개 변수로 날짜를 전달했습니다. 잘 작동합니다. –