[英]Stop Html.Action from being called on Load
我在父视图中有下面的div
,下面的Html.Action
返回一个PartialView
<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
,但这应该只在单击按钮时调用。 我尝试对div
使用data-url
,但仍然重复调用该操作。 有什么帮助吗?
Html.Action
将在加载视图时执行操作。 既然你不想要这个,你需要异步加载数据。
您可以将 URL 存储在自定义data-*
属性中以使用Url.Action
生成 URL。 单击按钮时,使用.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');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.