我正在使用 ASP.NET MVC Web应用程序。 有一个带有一堆搜索过滤器的视图,并且在页面中间还有一个网格,代表搜索结果。
最终用户为搜索过滤器设置的值,当单击搜索按钮时,ajax调用将返回将重新绑定网格的值。
网格中的每一行都代表“ listIps:class RProperties{
attProperties:{
PRASANTA3=class AttProperty{
Ip:192.168.57.39;
Agent:PRASANTA1 ;
dstId:PRASANTA2
}
}
}
The above code should be like below format,
listIps:class RProperties extends HashMap<String,AttProperty>{
"PRASANTA3"=class AttProperty{
Ip:192.168.57.39;
Agent:PRASANTA1 ;
dstId:PRASANTA2
}
}
Here RProperties class should extends from Hashmap , instead of RProperties contains one more class (AttProperties) which again contains the hashmap properties.
Here RProperties is a HashMap which contains key("PRASANTA3"),value(AttProperty class values) .
”和“ ItemId
”,可以通过复选框选择它们。
最后,当用户单击“ version
”时,我们需要将用户重定向到另一个页面(视图)。
我需要将选定的搜索过滤器和网格中选定的行值作为数组Detail report
传递给“ (ItemIds[] and Versions[])
”操作。
因此,要弄清楚这个问题。我需要将以下值传递给操作:
很遗憾,我无法将参数传递给操作。我没有空
使用
时,我不能将动作称为ajax调用查看(Detail
)
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);
}
我需要在“详细信息”操作中为视图准备值
答案 0 :(得分:2)
据我所知,在ajax调用中发布了复杂的对象(具有相同的发布参数)之后,无法执行重定向。 为了执行所需的操作,您可以从下面选择解决方案。
Partial View