2012-07-14 2 views
0

javascript를 사용하여 작업을로드하고 작업 메서드가 "returnUrl"매개 변수 중 하나를 호출 할 때 항상 null 인 것을 확인합니다. 나는 returnUrl이 자바 스크립트에서 firebug를 사용하여 올바르게 채워졌지만, .load 함수와 action 메소드를 실행하는 중간에 returnUrl의 값이 손실되고 null로 설정되었다는 것을 확인했다. 나는 "id"매개 변수를 제거하고 returnUrl이 올바른 값을 갖는 "returnUrl"매개 변수를 가지고있는 것으로 나타났습니다. 나는 여기에서 무슨 일이 일어나고 있는지 완전히 알아 내기 위해 많은 시간을 보냈다. 나는 약간의 도움을 줄 것이다.MVC3 Action Javascript에서 호출 ReturnUrl 매개 변수는 항상 null

내 자바 스크립트 :

<!-- Review Dialog Popup --> 
<script type="text/javascript"> 
function showWriteReviewDialog(gameId, returnUrl) { 
    if($("#Review").length == 0) 
    { 
     var url = "@Url.Action("WriteUserReview", "UGDBUser", new { id = "PLACEHOLDER", returnUrl = Request.Url.ToString() })"; 

     // ajax load 
     $('#writereview').load(url.replace('PLACEHOLDER', gameId)); 
    } else { 
     // clear summary & reviewtext fields 
     $('#summary,#reviewtext').val(''); 

     //reopen the write review dialog which was previously rendered 
     $("#Review").dialog({ 
      modal: true, 
      autoOpen: true, 
      resizeable: false 
     }); 
    } 
}; 
</script> 

내 무식하게 아래 작업 방법 :

 [Authorize] 
    public ActionResult WriteUserReview(Guid id, string returnUrl) 
    { 
     return Redirect(returnUrl); 
    } 
+0

그래서 당신이 실제로 서버에 GET이 returnUrl 매개 변수를 포함하고 있음을 확인했다 모두 반환? 그것을 위해 루트가 어떻게 설정되어 있습니까? –

답변

1

생성 된 URL에 문제가 있어야합니다. 또한 id가 guid인지 확인하십시오. 다음은 그 예입니다.

옵션 1

function showWriteReviewDialog(gameId, returnUrl) { 

    var url = '@Url.Action("TestParams", "Home")?id=' + gameId + '&returnUrl=' + returnUrl; 
    $("#writereview").load(url); 

    //rest of your operations 
}; 

옵션 2

작업을 타격에
function showWriteReviewDialog(gameId, returnUrl) { 

    var url = '@Url.Action("TestParams", "Home", new { id = "guid_replace", returnUrl = "url_replace"})'; 
    url = url.replace('guid_replace', gameId); 
    url = url.replace('url_replace', returnUrl); 

    $("#writereview").load(url); 

    //rest of your operations 
}; 

스크린 샷; 이 값 (시계 윈도우를 보라)

enter image description here

+0

옵션 1을 사용하고 완벽하게 작동했습니다. 왜 URL이 여러 가지 매개 변수를 사용하여 생성되었는지와 관련이 있을지 모르겠다는 것이 확실하지 않습니다. 도와 주셔서 정말로 고맙습니다! –

관련 문제