【问题标题】:Render a partial view after page load using jquery while an event has been occurred在发生事件时使用 jquery 在页面加载后呈现部分视图
【发布时间】:2014-11-21 22:58:13
【问题描述】:

我需要使用 ajax 在视图中呈现部分视图,而不是在页面加载中。我想在 drop 值更改时渲染这个部分。这个部分应该有一个模型并从模型信息中加载一个 jsTree。当我搜索解决方案时,我发现了以下代码。

$.ajax({
        url: '/Home/Details',
        contentType: 'application/html; charset=utf-8',
        type: 'GET',
        dataType: 'html'

    }).success(function (result) {
$('#sectionContents').html(result);}).error(function (xhr, status) {
alert(xhr.responseText);});

但我需要用自己的模型渲染一个局部。此代码获取在呈现视图后生成的 html 结果。 有人可以帮忙吗?

【问题讨论】:

    标签: jquery razor model-view-controller partial-views renderpartial


    【解决方案1】:

    您应该只将有限的数据传回服务器以获取局部视图。

    基本上创建一个返回部分视图的控制器操作,模型基于您通过 URL 提供的唯一 id 值。

    public ActionResult SomeView(int id)
    {
        var vm = db.SomeTable.Find(id);
        if (vm == null)
        {
            return HttpNotFound();
        }
        return PartialView(vm);
    }
    

    并使用 /SomeController/SomeView/idvalue 等从 Ajax 调用它

    使用PartialView 可避免包含布局母版页,因此您只需为一个面板等获取该 HTML。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-20
      • 1970-01-01
      • 2013-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多