【问题标题】:@Html.RenderPartial vs jQuery.load()@Html.RenderPartial 与 jQuery.load()
【发布时间】:2018-11-04 13:45:04
【问题描述】:

几乎所有内容都在标题中。

对我来说,在 ASP.net MVC 应用程序中,我们可以渲染局部视图:

使用剃刀:

@{Html.RenderPartial("_TestPartial");}

或 jQuery :

//JS
$('#partial-container').load('GetPartial');

//Controller
public ActionResult GetPartial()
{
    return View("_TestPartial");
}

有什么不同吗?

【问题讨论】:

    标签: jquery asp.net-mvc razor


    【解决方案1】:

    当然有区别。

    • 服务器端:RenderPartial 将部分直接嵌入网页响应中。
    • 客户端:load将在您收到网页响应后执行。然后开始一个新的请求,它正在加载部分。

    如果您立即加载 Partial,我会选择 Serverside,因为您可以保存一个请求。如果部分需要很长时间来处理并且您希望非常快速地显示响应,则例外情况。

    通常人们会使用客户端load 在用户交互后呈现一些视图,而无需加载全新的页面。

    【讨论】:

    • 这正是我想知道的(服务器端或客户端);-) 谢谢。我同意在页面加载时使用服务器端作为示例,在更新时使用客户端......
    【解决方案2】:

    您可以使用$.post$.get 调用该操作并替换 所需标签中 html 的返回值。

        var Url='@(Url.Action("GetPartial","ControllerName"))';
        $.get( Url, function( data ) {
          $( '#partial-container' ).html( data );
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 2011-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-15
      相关资源
      最近更新 更多