正确的MVC3编程方式,适当使用局部视图

时间:2012-07-25 05:57:49

标签: asp.net-mvc-3

我有一个视图,在顶部有一个下拉列表,基本上允许用户选择两个选项之一。现在这个选择的基础我必须在这个页面上显示内容。

现在,什么是正确的方法,我应该创建两个部分视图并将它们放在单独的div中,并根据选择我会使其中一个可见

或者,只有两个div并在其中包含我的chtml标记,并根据用户选择使其中一个可见。

2 个答案:

答案 0 :(得分:2)

如果多个视图不需要或通过ajax调用加载,我看不出创建部分视图的任何原因。我只想使用两个div。

答案 1 :(得分:1)

如果您想使用部分视图,可以使用ajax将它们加载到包含内容的单个div中,而不是将它们都放在页面上并隐藏。

对控制器的jquery调用如下所示:

$("#form").submit(function() {
        $.ajax({
        type: 'POST',
        url: '@Url.Action("PartialViewMethod","ControllerName")',
        data: $(this).serialize(),
        success: function (data) {
            $("#contentDivId").html(data);
        },
        });
}

控制器方法如下所示:

public ActionResult PartialViewMethod (string PartialViewName) {
     return PartialView("_" + PartialViewName);
}

假设它包含在提交您要返回的部分视图名称的表单中,这会将部分视图中的html加载到ID为contentDivId的div中。