我正在尝试使用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做这种事情的最好方法,还是我应该采取另一种方式? (即,我只是试图找到一种方法来实现我想要的,而不知道它是否是“最佳实践”方式)。
答案 0 :(得分:0)
我通常使用load方法设置innerHtml。
var url = '<%=Url.Action("GetTasks", "Timesheet", new {id = DateTime.Today.ToShortDateString() }) %>'
$("#tasksDiv").load(url);