在现有局部视图上渲染新的局部视图

时间:2016-01-04 20:21:14

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

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

现在我需要完成的是当我双击gridview时,我需要在现有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
        }
    });
}

目前一切正常,但当我调用功能“功能onDoubleClick(s,e)”时,主网格停留在视图上,并且不会渲染新网格。

有人可以帮忙提出建议。

由于

1 个答案:

答案 0 :(得分:1)

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

Peer

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

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

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

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

或使用

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

此代码未经过测试,但应该可以使用。