2

我有,MyPartialView.cshtml':

<div id="partialDiv">some content</div> 

一个'index.cshtml':

<div id="mainDiv"> </div>

和一个'index.js'。

'index.js' 应该这样做:

$('mainDiv').html($('#partialDiv'))

部分视图放入主 div

(写@<text> <div> @Html.Partial("MyPartialView")</div></text>)在我的 .cshtml 中有效,但我需要动态更改内容。因此,我认为JavaScript中可能有一个等效的 ' Html.Partial'

(或者是否有另一种方法可以在没有 AJAX 调用的情况下获得部分视图)

4

2 回答 2

3

@Html.Partial("MyPartialView")仅用于渲染单个局部视图文件(也与@Html.RenderPartial())。您可以使用 AJAX 调用返回部分视图的控制器操作:

AJAX 请求

$.ajax({
    type: 'GET',
    url: '@Url.Action("ActionName", "ControllerName")',
    // other settings
    success: function (result) {
        $('mainDiv').html(result);
    }
});

控制器动作

[HttpGet]
public ActionResult ActionName()
{
    // do something
    return PartialView("MyPartialView");
}

请注意,在 JS 中没有调用局部视图的等价物,因为您需要向服务器发出请求,而标准 JS 函数无法简单地处理该请求。

于 2018-10-26T02:19:16.763 回答
2

cshtml文件在服务器端渲染。您不能仅使用 JavaScript 加载它。完美的方法是通过调用返回局部视图的 Action 来使用 Ajax

于 2018-10-25T15:34:59.813 回答