Я работаю над веб-приложением ASP.NET MVC .Существует представление с кучей поисковых фильтров, а также посередине страницы находится сетка, представляющая результат поиска.
Конечное значение, установленное для фильтра поиска и при нажатии кнопки поискаAjax-вызов возвращает значения, которые будут привязывать Gird.каждая строка в сетке представляет «ItemId
» и «version
», которые могут быть выбраны флажком.
В конце, когда пользователь нажимает «Detail report
», нам нужно перенаправить пользователяна другую страницу (просмотр).
Мне нужно передать выбранные поисковые фильтры и значения выбранных строк сетки в виде массива, подобного этому (ItemIds[] and Versions[])
, в действие "Detail
".
Итак, чтобы прояснить вопрос.Мне нужно передать следующие значения в действие:
- фильтры поиска
- массив ItemId
- массив версий
К сожалению, яне может передать параметры в действие.Я получил null
Я не могу вызвать действие как 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; }
}
Мне нужно иметь подготовленные для просмотра значения в действии Подробно