我可以使用load jquery函数加载局部视图吗?

时间:2013-04-11 10:57:14

标签: asp.net-mvc asp.net-mvc-2

我正在尝试在页面上加载部分视图,如下所示

 $('#logindisplay').load('@Url.Content("/../../Shared/_LogOnPartial.cshtml")');

但是每当它说出指定的未找到时,很多次我改变了路径并且一切正常。

jquery是否支持这种类型的局部视图加载,或者每次都必须使用calan action方法

看到第二个答案我得出结论,每次我需要加载一个分开的视图我必须调用一个动作methid将返回局部视图,但它不接受在load函数中提到的整个路径编码为要加载的局部视图。

2 个答案:

答案 0 :(得分:2)

  

但是每次它都说明未找到指定的......是这种类型的   jquery支持部分视图加载,或者每次都必须使用calan action方法

是的,jquery支持它。但是你必须记住,负载会进行一次服务器调用"这就是为什么你必须调用一个动作方法。

$('#logindisplay').load('@Url.Action("MethodName","Controller")');

答案 1 :(得分:1)

<强> HTML

<div id="MyDiv" attr-Url="@Url.Action("ActionName", "ControllerName", 
                                                    new { area = "Area Name" })">
</div>

<强> JQuery的

MyDiv.load($('#MyDiv').attr('attr-Url'), function () {
    //Success Callback
});

编辑 - 1(替代方案)

@
{
    Html.RenderPartial("~/Views/AnotherFolder/PView", ViewData.Model);
}

@Html.Partial("../MyViewFolder/Partials/_PartialView", Model.MyObject)

@Html.Partial("~/Views/ControllerB/Index.cshtml")