我有一个局部视图" _search"我显示了一个数据列表,我添加了一个用于搜索和链接搜索的文本框
当我点击链接时,我得到一个未定义的错误页面。如何执行搜索方法并显示相同的局部视图 在我的搜索方法中,我返回json
return Json(
{
Data = base.RenderPartialView("_search", model),
}, JsonRequestBehavior.AllowGet);
搜索视图 我用按钮
更改了<a>
<script type="text/javascript">
document.getElementById("myButton").onclick = function () {
location.href = '@Url.Action("Search")'
};
</script>
<button id="myButton" >search</button>
答案 0 :(得分:1)
你必须修复代码,因为你无法返回json类型的部分视图和....我建议你的最佳方式,在谷歌网站上发送问题之前,如何实现这个任务。
以下链接可帮助您了解如何实施此项工作:
https://www.google.com/search?q=reload+partial+in+mvc&ie=utf-8&oe=utf-8
您还可以在以下链接中看到如何“在ASP.NET MVC中自动刷新部分视图”的示例:
https://www.mindstick.com/Articles/1132/auto-refresh-partial-view-in-asp-dot-net-mvc
示例强>:
所以,假设您有View with PartialView,必须通过按钮点击更新:
<div class="target">
@{ Html.RenderAction("UpdatePoints");}
</div>
<input class="button" value="update" />
有一些方法可以做到这一点。例如,您可以使用jQuery:
<script type="text/javascript">
$(function(){
$('.button')click(function(){
$.post('@Url.Action("PostActionToUpdatePoints", "Home")').always(function(){
$('.traget').Load('/Home/UpdatePoints');
})
});
});
</script>
PostActionToUpdatePoints是具有[HttpPost]属性的Action,用于更新点
如果您在动作UpdatePoints()中使用逻辑来更新点,可能您忘记为其添加[HttpPost]属性:
[HttpPost]
public ActionResult UpdatePoints()
{
ViewBag.points = _Repository.Points;
return PartialView("UpdatePoints");
}
我希望这对你有所帮助。
<强>参考:强>