2010-12-07 96 views
1

我正在尝试使用jQuery加载PartialView。它在页面的第一次加载时做得很好。但是当我按下保存按钮时,我需要能够重新加载PartialView。我得到一个重新加载,但这次PartialView是我回来的。即我没有将PartialView作为主页的一部分加载,而是作为它自己的页面加载。我究竟做错了什么?在ASP.NET MVC 2应用程序中从jQuery重新加载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> 

UPDATE:

它实际工作,我刚刚混淆了页面上的两个输入字段。但是我会将这个问题改为一个简单的问题:这是用PartialViews做这种事情的最好方法,还是我应该以另一种方式去做? (也就是说,我只是试图找出一种方法来实现我想要的,而不知道它是否是“最佳实践”方式)。

+2

“#tasksDiv”在页面上多次出现吗?我想帮你买你不接受的答案... – hunter 2010-12-07 15:48:21

+0

看到上面的更新。真?我想我尽可能地接受答案。当然,有时我对某些问题没有得到任何有用的答案,然后没有什么可做的,是吗? – Anders 2010-12-07 17:36:39

回答

0

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

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