簡體   English   中英

停止在加載時調用 Html.Action

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM