【问题标题】:c# mvc 4 append returned viewc# mvc 4 追加返回的视图
【发布时间】:2015-04-02 21:11:13
【问题描述】:

我有一个 MVC 4 项目,我想从视图 A 调用控制器,然后将返回的视图 B 附加到视图 A 中。 类似的东西:

视图 A (aspx):

 <script type="text/javascript">

  function HeadBtn_Click() {

   /////
      var url = 'IVR/';
      window.location.href = url;
  ////this works, but I want to stay in view A

    //// example of what I want:
     divContant.innerHTML = ////The returned view here////

    }
  </script>

  <body>

   <input type="image" onclick="HeadBtn_Click();" src="../../Images/buttonHodaot.png">

   <div id="divContant"> ////Append Here//// </div>

  </body>

视图 B(aspx):

   ////I will have alot more to append, but just for now:
  <div>
     <p>To Append</p> 
  </div>

谢谢

【问题讨论】:

  • 您是否尝试将视图 B 设为局部视图?
  • 您需要通过 Ajax 或根据您要实现的目标呈现部分视图

标签: c# html asp.net-mvc-4


【解决方案1】:

另一种方法(如果您真的想在视图 A 加载后渲染视图 B)..

利用AJAX获取视图B的响应HTML,然后追加到divContent div。像这样,

<script type="text/javascript">
  function HeadBtn_Click() {
    $.ajax({
      type: 'GET',
      url: url,
      dataType: 'HTML',
      success: function(data) {
          $('#divContant').html(data);
      }
   });
  }
</script>

希望对你有帮助,谢谢。

【讨论】:

    【解决方案2】:

    您可以使用 RenderAction 并将 viewB 作为局部视图返回

    <div id="divContant"> 
     @{Html.RenderAction("controllerName","actionName");}
    </div>
    

    http://www.dotnet-tricks.com/Tutorial/mvc/Q8V2130113-RenderPartial-vs-RenderAction-vs-Partial-vs-Action-in-MVC-Razor.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-12
      • 2011-10-15
      相关资源
      最近更新 更多