我有mvc应用程序。
我希望从客户端实现重定向而不使用查询字符串参数。 让我说我是页面http://localhost/weapp/details,从这个页面打开open并设置startdate,enddate和userid。这个弹出窗口也有Go按钮,当我点击Go按钮页面时应重定向 到http://localhost/weapp/userproduectlist这样的网页,网格按照在startdate,enddate和userid中选择的参数进行过滤。
我正在使用以下代码来执行此操作。所以如何在没有查询字符串参数的情况下实现重定向。
var start = new Date($('#dtuStartDate').data("kendoDatePicker").value());
var end = new Date($('#dtuEndDate').data("kendoDatePicker").value());
$.ajax({
url:'@Url.Action("Alluserproduectlist","Users")',
type: 'POST',
data: { startDate: kendo.toString(start, 'dd-MMM-yy hh:mm:ss tt'), endDate: kendo.toString(end, 'dd-MMM-yy hh:mm:ss tt'), userid: $("#drpuser").data("kendoMultiSelect")._values.join() },
success: function(data)
{
}
});
});
那么如何在没有查询字符串的情况下将mvc应用程序从一个客户端重定向到具有所选参数的客户端的其他操作,以便下一页按照上一页中的所选参数加载数据?
答案 0 :(得分:1)
您可以使用带有提交按钮的表单(在您的情况下为GO)
@using (Html.BeginForm("Alluserproduectlist", "Users", FormMethod.Post))
{
//set startdate, enddate and userid .
<input type="submit" value="GO"/>
}
答案 1 :(得分:0)
在你的action方法中,你可以像这样返回JSON:
return Json(new { newLocation = "/Home/Index/" });
此外,您可以传递额外信息作为结果,然后在客户端传递:
success: function(data)
{
window.location = data.newLocation
}