javascript - 在 ASP.NET MVC 中使用 jQuery 渲染局部 View

标签 javascript jquery asp.net-mvc renderpartial

如何使用 jquery 渲染局部 View ?

我们可以像这样渲染局部 View :

<% Html.RenderPartial("UserDetails"); %>

我们如何使用 jquery 做同样的事情?

最佳答案

您不能仅使用 jQuery 渲染局部 View 。但是,您可以调用一个方法(操作)来为您呈现局部 View 并使用 jQuery/AJAX 将其添加到页面中。在下面,我们有一个按钮单击处理程序,它从按钮上的数据属性加载操作的 url,并触发 GET 请求以将部分 View 中包含的 DIV 替换为更新的内容。

$('.js-reload-details').on('click', function(evt) {
    evt.preventDefault();
    evt.stopPropagation();

    var $detailDiv = $('#detailsDiv'),
        url = $(this).data('url');

    $.get(url, function(data) {
        $detailDiv.replaceWith(data);         
    });
});

用户 Controller 有一个名为 details 的操作:

public ActionResult Details( int id )
{
    var model = ...get user from db using id...

    return PartialView( "UserDetails", model );
}

这是假设您的局部 View 是一个 ID 为 detailsDiv 的容器,因此您只需将整个内容替换为调用结果的内容即可。

父 View 按钮

 <button data-url='@Url.Action("details","user", new { id = Model.ID } )'
         class="js-reload-details">Reload</button>

User 是 Controller 名称,details@Url.Action() 中的 Action 名称。 UserDetails局部 View

<div id="detailsDiv">
    <!-- ...content... -->
</div>

关于javascript - 在 ASP.NET MVC 中使用 jQuery 渲染局部 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1570127/

相关文章:

javascript - 调用 `setTimeout()`的正确方法

javascript - 将图像从 CSS 链接到 Javascript

Javascript 在将其放入历史记录之前更改 url 参数

javascript - 如何在 Javascript 中有效删除二维数组中的空列

javascript - C# String.IsNullOrEmpty 等效的 Javascript

javascript - 试图阻止输入到文本区域

javascript - h5validate 如何要求重复密码

javascript - 在 javascript 代码中使用 Url.Action 的更好解决方案

c# - 使用三元运算符的字符串连接

asp.net-mvc - Rider 中的脚手架 Controller