Ajax响应中的部分视图名称

时间:2017-04-12 11:15:20

标签: ajax asp.net-mvc asp.net-mvc-partialview

我有一个控制器,根据条件返回两个局部视图中的一个。

控制器

public ActionResult ReviewCart(DepartmentProductViewModel model)
        {
            if(somecondition)
            {
               return PartialView("_View1", model);
            }


            return PartialView("_View2", model);
        }

在我的视图中,我有两个标签,一个用于_View1,另一个用于带有div标签的_View2。喜欢 标签1

<div id="shopping1">
                    @Html.Partial("_View1", Model)
                </div>

标签2

<div id="shopping2">
                        @Html.Partial("_View2", Model)
                    </div>

在我的Ajax响应中,我想检查if控制器是否正在返回_View1然后我想

$('#shopping1').html(data);

如果控制器正在返回_View2,那么我想

$('#shopping2').html(data);

任何想法如何在Ajax成功调用中实现这一点。

由于

1 个答案:

答案 0 :(得分:0)

如果我理解正确,这个例子可能有所帮助。
jquery-ui tabs

的帮助下
<script>
  $( function() {
    $("#tabs").tabs({
      beforeLoad: function( event, ui ) {
        ui.jqXHR.fail(function() {
          ui.panel.html(
            "Couldn't load this tab. We'll try to fix this as soon as possible. " +
            "If this wouldn't be a demo." );
        });
      }
    });
  } );
  </script>
</head>
<body>

<div id="tabs">
  <ul>
    <li><a href="@Url.Action('ReviewCart','Controller')">Partial Content 1</a></li>
    <li><a href="@Url.Action('ReviewCart','Controller')">Partial Content 2</a></li>
  </ul>
  <div id="tabs-1">

  </div>
</div>

您可能需要将参数传递给彼此不同的两个局部视图,以相应地渲染和更改操作方法本身。

E.g Url.Action('ReviewCart','Controller',new { view=1 })