[英]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.