我有一个包含Ilanlar Part.Form调用的表单和部分视图的视图用于过滤部分视图数据。我提交表单数据来过滤部分视图数据,动作返回另一页面的局部视图。如何使用刷新的部分视图数据提交表单数据后保持同一页面。
*HTML*
@using (Ajax.BeginForm("IlanlarPart", "Ilanlar", FormMethod.Post, new AjaxOptions { OnSuccess = "success" }))
{
<div class="panel-body">
@Html.DropDownListFor(model => model.IlanKategoriID, new SelectList(Model.listKategoriler, "KategoriID", "KategoriAdi"), "Seçiniz", new { @class = "form-control" })
</div>
<div class="panel-group">
<button type="submit" id="btnSearch">Search</button>
</div>
}
public ActionResult Index()
{
return View((IlanInfo)getData());
}
public ActionResult IlanlarPart()
{
getData();
return PartialView("IlanlarPart", ilanInfo);
}
//此操作会过滤部分视图数据,但会在另一页中显示“Ilanlar Part”局部视图。
[HttpPost]
public ActionResult IlanlarPart(IlanInfo ilan)
{
ilanInfo.listArsalar.Where(p => p.IlanKategoriID == ilan.IlanKategoriID).ToList();
return PartialView("IlanlarPart",ilanInfo);
}
答案 0 :(得分:4)
我认为你想从ajax.beginform()获取ajax结果。为此,您希望在视图中包含jquery.unobtrusive-ajax.min.js并需要启用
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
web.config中的。 您还需要将ajax.beginform()更改为
@using (Ajax.BeginForm("IlanlarPart", "Ilanlar", null, new AjaxOptions { OnSuccess = "success", HttpMethod = "Post" }))
有关ajax.beginfrom()的更多详细信息,请点击链接http://www.niceonecode.com/Blog/DotNet/MVC/ASP_NET-MVC-Ajax_Beginform-and-Partial-View/2