所以我在我的视图中有这三个div,叫做Prepayment.aspx:
<div id="keyRateTable"></div>
<div id="shockTable"></div>
<div id="valueTable"></div>
点击按钮后,他们会填充HTML,然后AJAX运行JQuery来填充他们的HTML。
我如何从另一个MVC View访问该div的innerHTML内容,并在这个视图中显示它们?我之所以不能在Prepayment.aspx上做同样的过程,是因为这个过程可能需要很长时间,如果用户已经计算过,我们只想抓取已经生成的HTML。
答案 0 :(得分:1)
使用部分视图来完成您想要的任务。不要试图从另一个视图获取HTML。馊主意。
答案 1 :(得分:0)
在另一个视图中(假设它是部分的并且在同一页面上)你可以使用javascript和jquery:
var html = $('#shockTable').html();
// TODO: do something with the HTML contained in the shockTable div
// If you want to display this HTML on some other div on the current
// partial you could do this:
$('#someDivOnTheCurrentPartial').html(html);
如果HTML不在同一页面上,则无法从其他视图获取HTML。它根本不存在于任何地方。您需要从服务器重新获取它。这就是说,如果你想避免命中数据库或执行一些冗长的任务,你可以随时缓存结果或将它们存储到会话中。