【问题标题】:Render a new partial view on existing partial view在现有局部视图上渲染新的局部视图
【发布时间】:2016-01-04 20:21:13
【问题描述】:

我正在尝试进行深入报告。我正在使用 MVC 和 Devexpress Gridviews。我渲染我的视图和部分视图并显示我的 gridview 和结果。

现在我需要完成的是,当我双击网格视图时,我需要在现有网格视图之外的位置呈现一个新的/不同的局部视图 - 我双击的那个。

这可能吗?

这是我所拥有的:

    public ActionResult MainPartial()
    {  
        using (var Context = new DataContext())
        {
            ViewBag.Level = 0;
            return PartialView("MainPartial",SomeData);
        }
    }

    public ActionResult FirstDrilldownPartial(int Param)
    {  
        using (var Context = new DataContext())
        {
            ViewBag.Level = 1;
            return PartialView("FirstDrilldownPartial",SomeNewData(Param));
        }
    }

我的 Gridview RowDblClick 事件

function onDoubleClick(s, e) {

    $.ajax({
        type: 'POST',
        url: '/Controler/FirstDrilldownPartial',
        dataType: 'json',
        async: false,
        //cache: false,
        data: {
            Param: 1
        }
    });
}

目前一切正常,但是当我调用函数 "function onDoubleClick(s, e)" 时,主网格会停留在视图上,并且不会呈现新网格。

有人可以提供建议吗?

谢谢

【问题讨论】:

  • 你需要一个成功事件来让你的 ajax 调用来处理 FirstDrilldownPartial 操作的返回值

标签: c# asp.net-mvc asp.net-mvc-4 gridview devexpress


【解决方案1】:

你可以在不同的 div 中渲染两个部分,并在你的 js 函数中隐藏或显示一个 div,例如

<div id="mydiv1">
    @Html.Partial("Partial1")
<div>
<div id="mydiv2">
    @Html.Partial("Partial2")
</div>

在您的 onDoubleClick 中(我假设您使用的是 jQuery)

$("#mydiv1").hide();
$("#mydiv2").show();

并隐藏(在页面加载时)第二个 div 首先添加

$(function () {
     $("#mydiv2").hide();
});

或使用

<div id="mydiv2" style="display:none;">

此代码未经测试,但应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    • 2016-02-05
    • 1970-01-01
    相关资源
    最近更新 更多