Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jQuery在ASP.NET MVC中重新加载带有PartialView的div?_Jquery_Asp.net Mvc_Ajax_Partial Views - Fatal编程技术网

如何使用jQuery在ASP.NET MVC中重新加载带有PartialView的div?

如何使用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

我有一个div,在页面的某个地方有一个局部内部。我有一个按钮上的事件。我如何编写一个Javascript来获取div并重新加载它,同时重新加载部分视图

我有另一种观点。但我现在不能这样做。但是我需要同样的事情发生,只由jQuery执行,而不是直接在页面中执行。我可以在jQuery脚本中运行simular ajax代码吗,因为它的javascript也是如此,不是吗

<%  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>