我送數組作爲「數據」值的AJAX調用到MVC控制器的(參數)。然後,控制器應該將用戶重定向到一個新頁面,但它不會。相反,我可以在預覽窗口中看到View正在返回,但通過ajax返回。我不知道我接近這個方式是否正確,因爲我似乎很難找到好的例子。我想避免使用Html.ActionLink,因爲我將有大約20個參數傳遞給控制器。如何導致MVC控制器重定向從一個Ajax調用用戶?
下面是數組發送到控制器的功能:
submit: function() {
var data = {
"ReqDepartment": (viewModel.reqDepartment === null) ? null : viewModel.reqDepartment,
"EquipmentGroup": (viewModel.equipmentGroup === null) ? null : viewModel.equipmentGroup,
"SiteCode": (viewModel.site === null) ? null : viewModel.site.SiteCode,
}; //header
$.ajax({
type: "POST",
url: "/ArctecLogisticsWebApp/Requisitions/ReqsSummary/",
data: data,
traditional: true
});
}
這裏是控制器,ReqSearchCriteria是一個ViewModel:
public ViewResult ReqsSummary(ReqSearchCriteria criteria)
{
return View("ReqsSummary", requisitionsRepository.GetReqsAdvancedSearch(criteria));
}
控制器被返回在AJAX調用視圖。我應該使用不同的方法將數組發送到控制器嗎?
如果你的動作方法返回HTML,那麼你可以簡單地使用jQuery的'負荷()'方法,並用返回的HTML –