[英]Send complex object from view to MVC action as none ajax call
我正在開發一個ASP.NET MVC Web 應用程序。 有一個帶有一堆搜索過濾器的視圖,頁面中間還有一個表示搜索結果的網格。
最終用戶為搜索過濾器設置值,當單擊搜索按鈕時,ajax 調用將返回將重新綁定網格的值。 網格中的每一行都代表“ ItemId
”和“ version
”,它們可以通過復選框選擇。
最后,當用戶點擊“ Detail report
”時,我們需要將用戶重定向到另一個頁面(視圖)。
我需要將選定的搜索過濾器和網格選定的行值作為這樣的數組(ItemIds[] and Versions[])
傳遞給“ Detail
”操作。
所以,把問題說清楚。 我需要將以下值傳遞給操作:
不幸的是,我無法將參數傳遞給操作。 我得到了空
當我使用時,我不能將操作稱為 ajax 調用
查看 ( Index.cshtml
)
function prepareSelectedInfos() {
var formValues = $('#form').serializeFormToObject();
var gridValues = GetGridSelectedValues();
var dto = {
FormFilters: formValues,
ItemIds : gridValues.ItemIds,
Versions : gridValues.Versions
}
return dto;
}
$('#lnkDetailReport').click(function () {
var gridValues = GetGridSelectedValues();
var url = '/Report/Controller/Detail/';
var dto = prepareSelectedInfos();
window.open(url + dto, '_blank');
});
控制器
public ActionResult Detail(ModelVersionStatisticalDetailDto data)
{
//create a ViewModel according to the incoming data
var viewModel = ;
return View(viewModel);
}
模型
public class ModelVersionStatisticalDetailDto
{
public ModelVersionStatisticalReportDto FormFilters { get; set; }
public int [] ItemIds { get; set; }
public string[] Versions { get; set; }
}
我需要在 Detail 操作中准備好視圖值
據我所知,在 ajax 調用中發布復雜對象(使用相同的發布參數)后,無法執行重定向。 為了執行您想要的操作,您可以從下面選擇一個解決方案。
Partial View
替換Detail action 的響應
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.