【发布时间】:2022-10-20 11:23:33
【问题描述】:
我一直在按照教程在 CRUD 应用程序中使用引导模式,但我无法显示模式。
这是调用 jQuery 的按钮:
<a onclick="CreateOrganization('@Url.Action("AddOrEdit","Organizations",null,Context.Request.Scheme)','New Organization')" class="btn btn-success text-white"><i class="fas fa-random"></i> New Organization</a>
这是与创建组织按钮位于同一页面底部的 jQuery 函数:
< script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" > < /script> <
script type = "text/javascript" >
CreateOrganization = (url, title) => {
$.ajax({
type: 'GET',
url: url,
data: {
'id': null
},
success: function(res) {
$("#formModal").find(".modal-body").html(res);
$("#formModal").find(".modal-title").html(res);
$("#formModal").modal('show');
},
failure: function(response) {
alert(response.responseText);
},
error: function(response) {
alert("error");
}
})
}; <
/script>
模态在 _Layout 页面中:
<div class="modal" tabindex="-1" role="dialog" id="formModal">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header" id="formModal">
<h5 class="modal-title"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body"></div>
</div>
</div>
</div>
这是控制器中的 AddOrEdit 操作方法:
public async Task <IActionResult> AddOrEdit(int id = 0)
{
if (id == 0)
return View(new Organization());
else
{
var org = await _context.Organizations.FindAsync(id);
if (org == null)
{
return NotFound();
}
return View(org);
}
}
当我在 jQuery 中放置一个 alert() 时,我得到了从按钮传递的正确 url,如果我在控制器中的 AddOrEdit Action 方法中放置了一个中断,我确实打了中断,因此 jQuery 函数似乎按预期工作。如果我在 ajax{} 的成功部分中放置一个警报,它会命中,所以即使 jQuery 似乎也很高兴。但是,模式没有显示。有人可以告诉我哪里出错了吗?
【问题讨论】:
-
您在浏览器控制台上收到任何错误吗?请求是否到达您的后端控制器?
-
@MdFaridUddinKiron 它确实到达了控制器。浏览器没有错误。
-
您好,您是否尝试过提供的解决方案?让我知道您是否还需要任何进一步的帮助?
-
@MdFaridUddinKiron 您的回答没有解决这个问题。
-
因此,我在模态脚本上发现了问题,展示了如何在响应中显示模态。您确认按预期工作的其余内容。
标签: asp.net-core-mvc bootstrap-modal