MVC3模态窗体在不同的页面内

时间:2012-06-18 11:56:32

标签: c# asp.net-mvc asp.net-mvc-3

如果这令人困惑,我提前道歉,我很难将这个概念用语言表达。

假设我有一个Payment创建屏幕,其下拉列表或列表框可选择关联的Vendor,其中必须选择一个Vendor ... {{1还不存在。我不想将用户重定向到另一个页面,因此他们可以创建先决条件Vendor,并让用户丢失他/她已经放入的所有信息。相反,我想要建立一个链接单击屏幕时会出现一个模态表单,以便他们可以动态添加Vendor对象,验证它并引用它,然后继续添加Vendor记录。

我已经有Payment的创建屏幕,如果我可以以某种方式重用该代码,那将是理想的,但我看不到一种简单的方法。

这是另一个技巧:Vendor记录也可能引用不存在的东西;可能存在“嵌套”模态形式的可能性相当高。此外,对于任何给定的记录,可能存在多个“依赖关系”,并且我希望每个人都表现出相同的行为以获得一致的用户体验。

MVC框架中是否存在某种机制,或者是否存在一种用于创建此行为的正确模式?我正在尝试一种连续,直观的用户体验,而且我正在摸索最好的方法。

1 个答案:

答案 0 :(得分:0)

您正在寻找的概念是部分视图。它们可以是自己的整个页面,只需将它们插入任何您想要的位置即可。

您将它们包含在如下页面中:

@Html.Partial("_PaymentScreen")

或者如果您需要在原始页面加载的同时渲染图像或媒体,可以使用:

@Html.RenderPartial("_PaymentScreen") 

These are all您提供部分视图的选项,它非常通用。

对于你的模态,你可以做这样的事情:

<div id="myModal">
    @Html.RenderPartial("_PaymentScreen")
</div>

有很多关于如何使用它们的资源,以下是一些: