标题中几乎所有内容。
对于我来说,在ASP.net MVC应用程序中,我们可以呈现部分视图:
使用剃刀:
@{Html.RenderPartial("_TestPartial");}
或jQuery:
//JS
$('#partial-container').load('GetPartial');
//Controller
public ActionResult GetPartial()
{
return View("_TestPartial");
}
有什么区别吗?
答案 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 );
});