Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#-一次返回多个视图_C#_Asp.net Mvc - Fatal编程技术网

c#-一次返回多个视图

c#-一次返回多个视图,c#,asp.net-mvc,C#,Asp.net Mvc,我目前正试图在另一个视图中显示我的一个视图(局部视图)。在我的视图中,我一直在使用以下代码:@{Html.RenderPartial(“_Pending”);} 我的局部视图位于共享文件夹内。我的目标是使用来自两个不同控制器的逻辑引入两个不同的视图。考虑到我的两个视图(事务索引和挂起的事务(部分)),我基本上希望这两个视图都出现在同一个页面上。问题是,目前,我基本上得到了相同的看法两次 简言之,如何在另一个视图中显示局部视图,而局部视图从另一个控制器返回结果?如果我理解正确,您需要的是获得相同局

我目前正试图在另一个视图中显示我的一个视图(局部视图)。在我的视图中,我一直在使用以下代码:
@{Html.RenderPartial(“_Pending”);}

我的局部视图位于共享文件夹内。我的目标是使用来自两个不同控制器的逻辑引入两个不同的视图。考虑到我的两个视图(事务索引和挂起的事务(部分)),我基本上希望这两个视图都出现在同一个页面上。问题是,目前,我基本上得到了相同的看法两次


简言之,如何在另一个视图中显示局部视图,而局部视图从另一个控制器返回结果?

如果我理解正确,您需要的是获得相同局部视图的结果,但由两个不同的控制器执行

您是否尝试过
@Html.Action

本质上,它与调用Partial是相同的概念,但涉及控制器操作

要使用它,只需创建两个Action,然后在视图中调用@Html.Action,例如:

在控制器中:

public ActionResult Action1() {
    return PartialView("__Pending");
}

public ActionResult Action2() {
    return PartialView("__Pending");
}
在您的视图中-您也可以在局部视图中调用它

@Html.Action("Action1")
@Html.Action("Action2")
有关部分和动作差异的更多信息请查看

有关使用Html.Action的hwo的更多信息

部分始终包含在主视图中。如果您正在通过AJAX进行更新,那么您唯一能够自行返回部分的时间就是。您可能会使用partial来显示客户机列表。您可能会在视图中使用foreach循环来迭代列表(包含在视图模型中),将每个列表作为其模型传递给分部。 查找一个示例以在一个视图中使用多个局部视图。 在aspx页面中:-

<asp:content id="content" contentplaceholderid="CenterContentPlaceHolder" runat="server">
<form id="frmCheckout" name="frmCheckout" method="post">
<div class="rzccartcont">                     

                  <%this.Html.RenderPartial("CheckoutProduct", Model);%>

                     <div class="rzcchkpmnt rzcchkpmnt-bg" id="divChkbottomArea">
                         <% this.Html.RenderPartial("CheckoutCartProfileInformation", Model); %>

                         <%this.Html.RenderPartial("CheckoutCartPaymentDetails", Model); %>

                     </div>
</div>
</form>
</asp:content>

希望它能帮助您。

很高兴您解决了这个问题。仅供参考,RenderAction和Action本质上是相同的,只是前者直接写入响应,后者返回html字符串。
<script type="text/javascript">
   $(function() {
       $('#someButton').click( function() {
           $.ajax({
              url: '/controller/action',
              data: ...some data for action...,
              dataType: 'html',
              success: function(data) {
                 $('#partial').html(data);
              },
              ...
           });
       });
   });
</script>
public ActionResult Action(...)
{
     var model = ...

     ...

     if (Request.IsAjaxRequest())
     {
          return PartialView( "Partial", model.PartialModel );
     }
     else
     {
          return View( model );
     }
}