如何在mvc中将一个页面包含在另一个页面中?

时间:2011-06-01 18:39:49

标签: asp.net-mvc-3 view

我有一个很长很复杂的视图(显示)(由很多部分组成)。它是一个强类型的视图模型。 我有一个删除操作,需要显示一个“你确定要删除吗?”的视图。和是/否按钮和整个显示视图。我不想将Show中的所有内容复制/粘贴到此视图中......这样做的最佳方法是什么?我是否将Show显示为部分(如果可能)?或者有更好的方法来处理这种情况吗?即删除显示来自多个视图的数据的确认

2 个答案:

答案 0 :(得分:0)

为什么不将您的删除页面与显示页面(视图)相同,并在参数中选择性地显示底部的“删除”确认/按钮?

例如,网址为:

www.sample.com/stuff/delete

您可以将Delete操作连接到同一个视图,并在控制器中,只需渲染视图,并使用指示删除内容的属性显示:

public ActionResult Delete()
{
    var model = new ShowViewModel();

    model.DoDelete = true;

    return this.View("Show", model);
}

但是,通常情况下,最好将视图分开,并使用部分重用公共代码。但如果其中99%是共享的一个块,那么采用上述方法是可以接受的。

答案 1 :(得分:0)

我认为局部也可以渲染局部。如果您将“显示”设为“部分”,则可以在“显示”操作和“删除”中使用它。