使用Ajax调用Post Action(重定向问题)
本文关键字:重定向 问题 Action Ajax 调用 Post 使用 | 更新日期: 2023-09-27 18:11:04
我想使用Ajax调用c#动作,我的问题是如何在我尝试的函数成功后将我的动作重定向到结果页:
$.ajax({
type: 'Get',
url: "/OffreLocation/SearchOffer",
data: {
quartier: Quartier,
superficieMin: SuperficieMin,
superficieMax: SuperficieMax,
budgetMin: BudgetMin,
budgetMax: BudgetMax
},
success: function (response) {
window.location.href = "/Home/SearchResult";
}
});
但是它返回实际的视图!!
my action:
[HttpGet]
public ActionResult SearchOffer(int quartier, int superficieMin, int superficieMax, int budgetMin, int budgetMax)
{
List<OffreLocation> SearchedOffer = db.PublicationSet.OfType<OffreLocation>().Where( model => model.QuartierQuartier_Id == quartier && model.OffreLocation_Superficie > superficieMin && model.OffreLocation_Superficie < superficieMax).ToList();
return RedirectToAction("SearchResult", "Home", SearchedOffer);
}
我也读了你的评论,并得出一个假设,你试图使用AJAX的结果需要更新新的记录,首先在一个适当的编码标准,你不能使用AJAX,如果你需要一个页面刷新像你做的return RedirectToAction("SearchResult", "Home", SearchedOffer);
当您不需要重新加载页面,但只有页面的一部分需要刷新(例如:网格、下拉框等)时,您必须使用AJAX。这很简单,试着像下面这样重写你的代码
success: function(response) {
alert(response);
$("#SomeDiv").html(response);
}
像上面一样,我已经绑定到一个普通的div元素,但是你可以绑定到任何你想要的数据(JqGrid, DataTable,div等),但是在你必须卸载之前的数据。如果您使用数据表,请检查此链接数据表刷新与新数据如果是JQgrid,请查看@ JQgrid自动刷新或者,如果你在任何其他第三方控件中绑定数据,你必须自己查看,用新的搜索数据进行刷新。希望对您有所帮助.....