我在父视图中有belowdiv
,belowHtml.Action
返回aPartialView
<div id="preview" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
@Html.Action("GetPrintView", "Connector")
</div>
</div>
我使用下面的jquery打开上面的
modal
:$("#printdoc").click(function(e) {
e.preventDefault();
$(this).attr('data-target', '#preview');
$(this).attr('data-toggle', 'modal');
});
问题是,每当加载父级
.cshtml
时,它都会调用上面的Html.Action
,但这只应在单击按钮时调用。我尝试使用data-url
作为div
,但仍在重复调用该操作。有什么帮助吗? 最佳答案
Html.Action
将在加载视图时执行操作。因为不需要这样做,所以需要异步加载数据。
您可以将URL存储在customdata-*
属性中以生成URL useUrl.Action
。单击按钮时,使用.load()
加载局部视图
HTML格式
<div class="modal-content" data-url='@Url.Action("GetPrintView", "Connector")'>
</div>
脚本
$("#printdoc").click(function (e) {
e.preventDefault();
var modal = $("#preview .modal-content"); //Find the element
$(modal).load(modal.data('url')); //Fetch url and load partial view
$(this).attr('data-target', '#preview');
$(this).attr('data-toggle', 'modal');
});