如何使用jQuery在ASP.NET MVC中重新加载带有PartialView的div?
我有一个div,在页面的某个地方有一个局部内部。我有一个按钮上的事件。我如何编写一个Javascript来获取div并重新加载它,同时重新加载部分视图 我有另一种观点。但我现在不能这样做。但是我需要同样的事情发生,只由jQuery执行,而不是直接在页面中执行。我可以在jQuery脚本中运行simular ajax代码吗,因为它的javascript也是如此,不是吗如何使用jQuery在ASP.NET MVC中重新加载带有PartialView的div?,jquery,asp.net-mvc,ajax,partial-views,Jquery,Asp.net Mvc,Ajax,Partial Views,我有一个div,在页面的某个地方有一个局部内部。我有一个按钮上的事件。我如何编写一个Javascript来获取div并重新加载它,同时重新加载部分视图 我有另一种观点。但我现在不能这样做。但是我需要同样的事情发生,只由jQuery执行,而不是直接在页面中执行。我可以在jQuery脚本中运行simular ajax代码吗,因为它的javascript也是如此,不是吗 <% using (Ajax.BeginForm("EditFeiertag", new AjaxOptions { Ins
<% using (Ajax.BeginForm("EditFeiertag", new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "feiertage" }))
{ %>
<div id="feiertage">
<% Html.RenderPartial("FeiertagTable"); %>
</div>
<% } %>
如果我可以通过启动一个单击事件或类似事件来运行上面的脚本,我会有所帮助。让我们从一些基本的控制器操作开始:
public class FeiertagController
{
IFeiertagService feiertagService = new FeiertagService();
public ActionResult EditFeiertag()
{
// ... return your main edit view
return View();
}
// Will be called by your jquery ajax call
public PartialResult GetFeiertagTable()
{
var feiertagData = messageService.getLatestFeiertagData();
var viewModel = new FeiertagViewModel();
feiertagViewModel.feirtagTableData = feiertagData;
return PartialView("FeiertagTableView", viewModel);
}
}
因此,EditFeiertag()用于呈现整个编辑页面,当该页面希望异步呈现部分视图时,将调用GetFeiertagTable()
现在,在你看来,让我们假设你有:
<div id="Container">
<div id="LeftPanel">
// ... Some menu items
</div>
<div id="RightPanel">
<a id="ReloadLink" href="#">Reload Table</a>
<div id="FeiertagTable>
<% Html.RenderPartial("FeiertagTable", Model.feiertagTableData); %>
</div>
</div>
</div>
然后,它将在重新加载链接的click事件上添加一个事件,该事件将调用jquery load()方法。这个方法是一个简化的ajaxget请求,它将用返回的内容替换所选div(FeiertagTable)的内容
我们的GetFeiertagTable()控制器操作将返回部分视图,然后将其插入到该div中
我希望这能为你指明正确的方向
<head>
<script src="../../Scripts/Jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(document).ready(function($) {
$('#ReloadLink').click(function(e)
{
e.preventDefault(); // stop the links default behavior
$('#FeiertagTable').load('/Feiertag/GetFeiertagTable');
});
});
</script>
</head>