在ASP.NET MVC 2应用程序中从jQuery重新加载PartialView?

时间:2010-12-07 15:44:48

标签: asp.net jquery asp.net-mvc-2

我正在尝试使用jQuery加载PartialView。它在第一次加载页面时就可以了。但是,当按下保存按钮时,我需要能够重新加载PartialView。我得到了重装,但这次是PartialView,我回过头来。即我没有将PartialView作为主页面的一部分加载,而是作为自己的页面加载。我做错了什么?

以下是视图中jQuery的相关部分:

       $.get('<%=Url.Action("GetTasks", "Timesheet", new {id = DateTime.Today.ToShortDateString() }) %>', function (data) {
            $('#tasksDiv').html(data);
        }); //This part works fine on first load of the page

        $('#savenewtask').click(function (event) {
            event.preventDefault();
            $.get('<%=Url.Action("GetTasks", "Timesheet", new {id = DateTime.Today.ToShortDateString() }) %>', function (data) {
                $('#tasksDiv').html(data);
            });
        }); //This only loads the PartialView, but not as part of the main page...

要加载的按钮和div:

    <p>
        <input type="button" value="Spara" id="savenewtask" />
    </p>

<div id="tasksDiv">
</div>

更新:

它实际上有效,我只是混淆了我在页面上的两个输入字段。但我会把这个问题改成一个简单的问题:这是用PartialViews做这种事情的最好方法,还是我应该采取另一种方式? (即,我只是试图找到一种方法来实现我想要的,而不知道它是否是“最佳实践”方式)。

1 个答案:

答案 0 :(得分:0)

我通常使用load方法设置innerHtml。

var url = '<%=Url.Action("GetTasks", "Timesheet", new {id = DateTime.Today.ToShortDateString() }) %>'
$("#tasksDiv").load(url);