2017-04-25 102 views
0

我將我的anguler模型發佈到mvc HttpPost ActionResult。在我想要重定向動作聯繫人視圖後。代碼正在運行但聯繫人視圖不顯示。重定向ActionResult來自httpPost ActionResult視圖不顯示

首先ActionResult的呼叫

$scope.saveSubs = function() { 
    var sub = {Des: $scope.des.slice($scope.des.lastIndexOf("(") + 1, 
        $scope.des.lastIndexOf(")")), 
}; 

$http.post('/Home/HotelSearch', sub); 

這是工作。但在這個調用之後,我想重定向到另一個ActionResult。

HttpPost的ActionResult

[HttpPost] 
public ActionResult HotelSearch(HotelBooking hotelBooking) 
{ 
    ViewBag.Message = "Your contact page."; 
    TempData["LoginData"] = hotelBooking; 
    return RedirectToAction("Contact"); 
} 

二的ActionResult

public ActionResult Contact() 
{ 
    ViewBag.Message = "Your contact page."; 
    return View("Contact"); 
} 

此圖中未觀看。我可以知道這是什麼問題嗎?

+0

我不認爲你可以在Ajax調用中重定向整個瀏覽器page_。通常,我會在Ajax調用返回時返回一個局部視圖並將其添加到DOM;或者在Ajax調用返回時,我通過'location.href'返回一個帶有URL的字符串以重定向客戶端。 –

+0

ajax call working.second RedirectToAction未查看。調試點正在到達。但視圖不工作。 – sanjeewa

+0

返回jsonresult到你的ajax調用併成功回調你可以重定向你想要的頁面 –

回答

1

我同意上面的評論,你不能完全重定向使用ajax calls.ajax總是用於部分數據/視圖加載。 我們可以使用Json返回類型從ajax調用重定向。

return Json(new {result = "Redirect", url = Url.Action("ActionName", "ControllerName")}); 

這可能對你有幫助。