我想在关闭/隐藏时销毁Bootstrap模式,并且每次重新打开新内容时。我试图在.net中实现这一点。请在将此标记为重复之前阅读。
在我的母版页中, 模态标记为
<div id="modal" class="modal fade">
<div class="modal-dialog" role="dialog">
<div class="modal-content" data-backdrop="static">
<div id="modalContent">
</div>
</div>
</div>
</div>
打开模式的代码
$("a[data-modal]").on("click", function (ev) {
BlockPage("Loading Dialog");
$("#modalContent").load(this.href, function () {
$("#modal").modal({
cache:false,
backdrop: 'static',
keyboard: false
}, "show");
});
ev.preventDefault();
return false;
});
在我的aspx页面中,我有以下代码打开模式,如下所示。
<a runat="server" id="lnkAssignInformed" data-modal="" class="btn btn-info hidden-print assignInformed">Assign Informed</a>
对于显示和隐藏的事件,我有以下代码。对于隐藏的事件,为了摧毁模态我按照这篇文章中的答案回答。 Stackoverflow Post
$("#modal").on('show.bs.modal', function (e) {
$(this).find('.modal-body').css({
width: 'auto',
height: 'auto',
'max-height':'100%'
});
});
$('body').on('hidden.bs.modal', '#modal', function () {
$('#modal').removeData('bs.modal');
});
问题是甚至在试图破坏隐藏事件的模态后,当我重新打开模态时,我仍然看到模态中的数据在第一次打开时显示。
我也尝试了以下代码,但没有看到任何差异。
$("#modal").on('hide.bs.modal', function () {
$('#modal').data('bs.modal', null);
});
我目前正在IE-11中尝试此操作。 Haven未在其他浏览器中测试过。
有没有什么办法可以在每次点击锚标记时触发加载?任何帮助,将不胜感激。
答案 0 :(得分:0)
我能够自己解决这个问题。问题在于Jquery.load()缓存结果。我能够使用以下代码销毁缓存。在此之后,对话框每次都会显示新内容。
$("a[data-modal]").on("click", function (ev) {
BlockPage("Loading Dialog");
$("#modalContent").load(this.href,'f' + (Math.random()*1000000), function () {
$("#modal").modal({
cache:false,
backdrop: 'static',
keyboard: false
}, "show");
});
ev.preventDefault();
return false;
});