Jquery 什么';“这是最重要的”;MVC“;刷新/更新部分MVC页面的标准方法?

Jquery 什么';“这是最重要的”;MVC“;刷新/更新部分MVC页面的标准方法?,jquery,asp.net-mvc,asp.net-mvc-3,Jquery,Asp.net Mvc,Asp.net Mvc 3,我有一个显示数据表的网页。我的页面在某些元素上有jQuery,因此当元素更改时,将对数据库进行Ajax调用,并在数据库中更新元素 我还需要在某个时候完全刷新数据网格。在我看来,有两种方法可以做到这一点: 1) 使用Ajax调用我的控制器操作,使用request.IsAjaxRequest检查是否是Ajax请求,返回HTML.Partial到调用Ajax并更新HTML的javascript。我有这个方法90%的工作已经 2) 使用以下命令: <div id="#thingy">@Ht

我有一个显示数据表的网页。我的页面在某些元素上有jQuery,因此当元素更改时,将对数据库进行Ajax调用,并在数据库中更新元素

我还需要在某个时候完全刷新数据网格。在我看来,有两种方法可以做到这一点:

1) 使用Ajax调用我的控制器操作,使用request.IsAjaxRequest检查是否是Ajax请求,返回HTML.Partial到调用Ajax并更新HTML的javascript。我有这个方法90%的工作已经

2) 使用以下命令:

<div id="#thingy">@Html.Action("Detail", new { ac, me })</div>  
$('#thingy').load("@Server.JavaScriptStringEncode(Url.Action("Detail", new { ac, me }))"); 
@Html.Action(“Detail”,new{ac,me})
$('thingy').load(@Server.JavaScriptStringEncode(Url.Action(“Detail”,new{ac,me}));
现在我仍在尝试第一种方法,但也在研究第二种方法,并认为它看起来容易得多

我想编写既能工作又符合MVC工作方式的代码。考虑到这一点。哪种可能是最好的方法?我关心的一件事是@Server.Java。。。代码。我以前从未见过这种情况,我想知道MVC是如何处理这种情况的,所有正常的安全性都得到应用了吗?

melissa

如果视图中的模型与partialview中的模型相同,我几乎肯定会坚持使用partialview(并且
@RenderPartial()
,否则您可以选择
@RenderAction()
helper在基本数据类型与基本视图数据类型差异很大的视图中调用数据刷新

您将从应用程序中知道哪种方法最适合所讨论的用例,但RenderPartial()肯定是major on的方法,在这篇文章的稍后部分需要ajax更新来更新div中的html

[编辑]-以下是我在实践中如何看待这一点:

// this is a div contained within the main Detail.cshtml view
<div id="#thingy">@Html.RenderPartial("_Detail", Model)</div>
希望这是有意义的


祝你好运

Melissa-在这里有似曾相识的感觉。这里:)嗨,吉姆,你看到我包括的问题链接了吗。我有人向我建议了另一种方法。这是一个不同的问题,因为我在寻求一些建议。另一种方法完全不同。我只是想用最好的方式工作。谢谢。使用window.location.reload();window.location.reload将刷新整个窗口。完全不同。谢谢你的帮助,吉姆。我将尝试实现这一点,然后在稍后标记答案。我刚刚投票赞成你的帮助,但如果一切顺利,我以后可以接受。我只想先检查一下。梅丽莎-完全明白。如果有任何问题,请留下一个注释,我将通过对上述答案进行编辑来制作一个更完整的示例。方法有效,但一旦部分内容刷新,我的jQuery绑定似乎就消失了。我需要进一步调查。谢谢你的帮助。
public ActionResult Detail(string ac, string me) {     
   vm.AdminDetails = _link.Detail(ac + me).ToList();      
   if (Request.IsAjaxRequest())         
      return PartialView("_Detail", vm);     
   return View(vm); 
}