【发布时间】:2019-07-08 11:18:20
【问题描述】:
我正在开发一个 ASP.NET MVC Web 应用程序。 有一个带有一堆搜索过滤器的视图,页面中间还有一个网格,表示搜索结果。
最终用户为搜索过滤器设置值,当单击搜索按钮时,ajax 调用返回将重新绑定网格的值。
网格中的每一行代表“ItemId”和“version”,可以通过复选框来选择。
最后,当用户点击“Detail report”时,我们需要将用户重定向到另一个页面(视图)。
我需要将选定的搜索过滤器和网格选定的行值作为(ItemIds[] and Versions[]) 这样的数组传递给“Detail”操作。
所以,把问题说清楚。我需要将以下值传递给操作:
- 搜索过滤器
- ItemId 数组
- 版本数组
很遗憾,我无法将参数传递给动作。我得到了空
当我使用时,我不能将操作称为 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 操作中准备好视图值
【问题讨论】:
标签: javascript c# asp.net-mvc