我正在使用JavaScript加載一個Action,並發現當調用動作方法時,其中一個參數「returnUrl」始終爲空。我已經確認returnUrl在JavaScript中使用螢火蟲填充,但在執行.load函數和操作方法之間的某處,returnUrl的值會丟失並設置爲null。我發現如果我刪除了「id」參數並且只有returnUrl參數,那麼returnUrl具有正確的值。我花了很多時間試圖弄清楚這裏發生了什麼,並且完全陷入困境,我會感謝一些幫助。MVC3動作調用Javascript ReturnUrl參數始終爲空
我的javascript:
<!-- 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);
}
所以你證實,確實到達服務器包括RETURNURL參數值(看看手錶窗口)?路線如何設置? – 2012-07-14 23:40:47