我正在尝试将来自同一本地主机的某些内容加载到模式中。这是我的链接:
<a href="#" data-remote="/Applications/Applications/RoleDetails?Id=800fd767-98bb-42f1-9183-377646b826bb&ApplicationId=300e235f-2e4e-4c64-9ae7-d1ac09846afa" data-toggle="modal" data-target="#modal-container">SystemAdministrator</a>
这是我的标题:
<script src="~/jquery/jquery.min.js"></script>
<script src="~/jquery-validate/jquery.validate.js"></script>
<script src="~/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
<script src="~/jqueryui/jquery-ui.js"></script>
<script src="~/popper.js/umd/popper.js"></script>
<script src="~/twitter-bootstrap/js/bootstrap.js"></script>
在正文的开头,我将此空div插入其模式ID:
<div id="modal-container"></div>
这是我要加载到模式容器中的模式:
@model App.Data.ViewModels.ApplicationRoleDetailsViewModel
<script>
$(document).ready(function () {
});
$(document).on("submit","#modal",function (e) {
e.preventDefault();
var form_data = $(this).serialize();
$.ajax({
url: "@Url.Action("SaveRole", @ViewContext.RouteData.Values["controller"].ToString())",
method: "POST",
data: form_data,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
success: function (result) {
if (result.success) {
$(document).off("submit");
$(document).off("submit", "#save");
$('#modal').off('#save');
$.modal.close();
return;
}
$.each(result.errors, function (index, item) {
// Get message placeholder
var element = $('[data-valmsg-for="' + item.propertyName + '"]');
element.empty();
// Update message
element.append($('<span></span>').text(item.errorMessage));
// Update class names
element.removeClass('field-validation-valid').addClass('field-validation-error');
$('#' + item.propertyName).removeClass('valid').addClass('input-validation-error');
});
}
});
return false;
});
</script>
<div class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="col-sm-12">
<div class="modal-header">
@if (Model.Id == null)
{
<h5 class="modal-title">Add Role</h5>
}
else
{
<h5 class="modal-title">Edit Role</h5>
}
</div>
<hr />
</div>
</div>
</div>
</div>
我已阅读到Bootstrap 4删除了对远程加载的支持,因此这是我的解决方法:
$('body').on('click', '[data-toggle="modal"]', function () {
$($(this).data("target") + '#modal-container').load($(this).data("remote"));
});
问题在于,由于某些原因,当我单击链接时,仅出现我的背景。我的内容已加载到模式中,当我在调试器上对其进行检查时,.modal类将显示:none;在上面。如果我尝试将其更改为display:block;它出现了,但我无法点击离开。
请帮助。我已经尝试了好几天了。
编辑:
只是想说,当我使用具有静态内容的普通模式尝试此操作时,它没有任何问题。