2012-07-04 5 views
-2

면도날과 함께 MVC3을 사용하고 있습니다. AJAX를 사용하여로드하려는 액션이 ​​하나 있습니다. jQuery UIblock 플러그인 http://jquery.malsup.com/block/#을 사용하여 사용자에게 몇 가지 대기 이미지를 표시하고 있습니다.AJAX가 MVC에서 작동하지 않습니다. 페이지

행동에 해당하는보기는 아래와 같습니다 :

@using (Ajax.BeginForm("Search", "Home", new AjaxOptions() { HttpMethod = "GET", OnBegin = "BlockUI", OnComplete = "UnBlockUI", UpdateTargetId = "page" })) 
{ 
................... 
} 

자바 스크립트 코드는 아래와 같습니다 :

<script type="text/javascript"> 
function BlockUI() { 
    $.blockUI({ message: "<img src='@Url.Content("~/Content/images/loading.gif")' />" }); 
} 

function UnBlockUI() { 
    $.unblockUI({ message: "Done....." }); 
} 
이제

내가

로 링크를 사용하여 작업로 리디렉션하고
location.href = '@Url.Content("~/Home/Search/")'; 

검색보기가로드 될 때 이미지로드 중 Div를 볼 수 없습니다.

다른 페이지에서도 똑같은 작업이 있지만, 다른 페이지에서는 이미지가 표시됩니다. POSTBACK.

또한 모든 Ajax POST 작업이 작동하지만 GET 것은 작동하지 않습니다.

검색 페이지의 문제점은 무엇입니까?

감사합니다.

+0

당신은 아마'get' 요청을 받아들이는 액션 메소드를 가지고 있지 않기 때문에 ajax'get' 연산이 작동하지 않습니다 ... 해당 컨트롤러 액션의'signature'를 게시하십시오 – xandercoded

답변

0

는 지금은

같이 location.href = 'Url.Content @ ("~/홈/검색 /")'과 같은 링크를 사용하여 작업로 리디렉션하고;

여기에 키워드는 입니다.을 리디렉션 중입니다. 그것은 아니야 나는 AJAX 요청을 보내고있다. 리디렉션하면 브라우저는 현재 페이지에서 스크립트 실행을 중지하고 대상 위치로 리디렉션합니다. 차단 된 사용자를 리디렉션 할 때 구독 한 OnBegin 및 메서드는 절대 실행되지 않습니다.

+0

대린에게 감사합니다 설명. 그렇다면 링크를 클릭하여 Ajax 요청을하려면 어떻게해야합니까 ?? –

+0

'Html.ActionLink' 대신'Ajax.ActionLink'를 사용할 수 있습니다. –

+0

Jquery를 사용하여 다른 페이지로 이동합니다. 따라서 Ajax.ActionLink 및 Html.ActionLink는 사용할 수 없습니다. –

관련 문제