@ Html.RenderPartial与jQuery.load()

时间:2018-11-04 13:45:04

标签: jquery asp.net-mvc razor

标题中几乎所有内容。

对于我来说,在ASP.net MVC应用程序中,我们可以呈现部分视图:

使用剃刀:

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

或jQuery:

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

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

有什么区别吗?

2 个答案:

答案 0 :(得分:4)

当然有区别。

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

如果您立即加载Partial,我会去Serverside,因为您可以保存一个请求。一个例外是,如果部分文档需要花费很长时间来处理,而您想非常快速地显示响应。

通常,在用户交互后,无需加载整个新页面即可使用客户端load呈现一些视图。

答案 1 :(得分:1)

  

您可以使用$.post$.get调用操作,然后替换   在所需的代码中返回 html 的值。

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