【问题标题】:partial page update without using partial views in ASP.NET MVC3在 ASP.NET MVC3 中不使用部分视图的部分页面更新
【发布时间】:2012-02-01 17:09:33
【问题描述】:

我想知道是否可以在 ASP.NET MVC 3.0 中异步更新视图的一部分而不将该部分移动到局部视图中。在 webforms 模型中,我可以在一个页面中包含所有标记,但我仍然可以通过在更新面板上指定目标 div 来更新页面的一部分,而无需将该部分移动到单独的用户控件中。仅当 HTML 片段在多个视图中使用时,部分视图才有用。仅出于异步更新的目的创建局部视图将导致页面的 HTML 分散在多个文件中。我正在使用 Ajax.BeginForm() 对服务器进行 ajax 调用。 相关文章 http://blogs.msdn.com/b/stuartleeks/archive/2011/04/13/asp-net-mvc-partial-rendering-and-ajaxattribute.aspx

【问题讨论】:

  • 你想用什么来更新这个部分?使用 jquery,您可以更改页面上任何内容的值。
  • 我有一个填充了一些数据的网格,我需要使用用户提供的值对其进行过滤。 jQuery的问题是,我需要以Json格式获取数据并在代码中手动构建html(除非有更好的方法)。我喜欢简单的 MS Ajax 助手,它的代码更少且优雅。
  • jquery 有很多网格插件(可能太多了)。
  • 在 webforms 中,当您只更新页面的一部分时,实际上您仍在渲染所有部分。在 MVC 中,鼓励您只渲染更新的部分(使用部分视图)。如果您不想使用部分视图,您仍然可以使用旧方法.. 只需使用 jQuery 到 $('#partToUpdate').load('http://www.mysite.com/page #partToUpdate') 注意:如果发布,您需要使用带有回调函数的 $.ajax()$.post()你想要的数据。

标签: jquery ajax asp.net-mvc asp.net-mvc-3


【解决方案1】:

如果您对部分视图充满热情 - 您可以将 JsonResult 返回到您的 ajax 请求并使用 javascript (jquery) 构建 html。但是没有类似于 Web 表单 UpdatePanel 控件允许不分离部分视图,因为每个请求都是操作,并且操作应该返回视图/部分视图以生成 html。 我认为你的问题是人为的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 2018-06-05
    • 1970-01-01
    相关资源
    最近更新 更多