2012-11-08 74 views
2

我可以添加如何將Html.Action追加到了jQuery

$("#report").html('Html.Action("ReportPage", new { id = Model.GoalId })') 

這裏報告是我想要放置動作ReportPage ID的結果的div id爲傳遞到參數ReportPage actionresult

回答

5

您需要使用服務器標籤才能實現此目的。所以:

$("#report").html('@Html.Action("ReportPage", new { id = Model.GoalId })') 

$("#report").html('<%= Html.Action("ReportPage", new { id = Model.GoalId }) %>') 

如果這是你的行動ReportPage的結果是什麼意思。

但是,如果通過動作ReportPage你指的是實際效果的結果是你的MVC行動resturns(即:一個視圖,JSON ..),你必須使用類似這樣

$.get('@Html.Action("ReportPage", new { id = Model.GoalId })', function(data) { 
    $("#report").html(data); 
}); 

希望這有助於

PS:查看更多詳細信息http://api.jquery.com/jQuery.get/關於jQuery.get()

0

這樣,你的行爲的HTML將通過AJAX主後裝頁面加載。

CSS

.support {display: hidden;} 

HTML

<div class="support"> 
    <div class="report-page"> 
     <a href="Url.Action("ReportPage", new { id = Model.GoalId })" /> 
    </div> 
</div> 

JS

var url = $('.support .report-page a').prop('href'); 
$.get(url, null, function(html){ 
    $('#report').html(html); 
}, html); 

或者,如果你只需要一個HTTP請求,你可以這樣做:

CSS

.support {display: hidden;} 

HTML

<div class="support"> 
    <div class="report-page"> 
     @Html.Action("ReportPage", new { id = Model.GoalId }) 
    </div> 
</div> 

JS

var html = $('.support .report-page').html(); 
$('#report').html(html);