2

我可以加吗

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

这里报告是我要放置操作结果的 div 的 id ReportPage id 是传递给 ReportPage actionresult 的参数

4

2 回答 2

5

您需要使用服务器标签来实现这一点。所以:

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

或者

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

如果这就是您所说的操作 ReportPage 的结果

但是,如果操作 ReportPage的结果是指 MVC 操作返回的实际结果(即:视图、json ..),则必须使用类似这样的东西

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

希望这可以帮助

PS:有关 jQuery.get() 的更多详细信息,请参阅http://api.jquery.com/jQuery.get/

于 2012-11-08T12:37:43.163 回答
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);
于 2012-11-08T12:49:17.797 回答