2017-12-27 474 views
0

我有以下的局部视图名为“_transactions”:MVC局部视图返回整个页面,而不仅仅是部分

<div id="section-transactions" class="documentsanchor"> 
</div> 
<div> 
    <div class="row"> 
     <div class="col-lg-12"> 
      <div> 
       <h4 class="company-headings">@ViewBag.SecSymbol Transactions</h4> 
      </div> 
     <div> 
    </div> 
</div> 

我把它用

@{Html.RenderAction("Transactions", "Company");} 

数据,这是从交易方法本公司控制人:

public async Task<PartialViewResult> Transactions() 
    { 
     ViewBag.SecSymbol = "test"; 

     return PartialView("_transactions"); 
    } 

它在与其他部分视图的页面上。

这工作正常。但是,我在页面上有一个按钮,应该得到一个新的局部视图并替换当前的视图。它使一个Ajax调用如下

$("#btn_transactions").click(function (e) {   
     var url = "Company/Transactions"; 
     $.ajax({ 
      url: url, 
      success: function (result) { 
       alert(result); 
       $('#transTarget').html(result); 
      }, 
      error: function() { 
       alert("Error occured"); 
      } 
     }); 
    }) 

的问题是,整个页面中的“结果”返回,也就是说,所有的谐音以及布局,当所有我想要的是交易部分。我究竟做错了什么?

+0

相反Html.RenderAction的,使用Url.Action – Sparrow

+0

如果我这样做,没有得到呈现。 – Scott

+0

@Scott你是否将_transactions视图的Layout属性设置为null? –

回答

1

添加该代码在局部视图

@{ 
Layout=null; 
} 
相关问题