我已经审查了许多以前的问题,但没有发现任何工作。我有一个ASP.NET Web应用程序项目,我想使用Bootstrap 5模式来显示消息,当用户需要在帐户注册过程中更正某些内容时。部分原因是因为创建帐户的一些逻辑必须在服务器端运行,所以通过JavaScript完成所有事情并不是一个真正的选择。
我的模态代码定义如下:
<div class="modal fade" id="ErrModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="staticBackdropLabel">Please Correct...</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<asp:Label ID="lblMsg" CssClass="h5" runat="server"></asp:Label>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-btn-primary" data-bs-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
我添加了客户端脚本代码如下:
function openModal() {
$('#ErrModal').modal('show');
}
最后,在我的ASP.NET代码隐藏中,我尝试使用以下代码显示模态:
lblMsg.Text = ex.StatusCode.ToString ( );
ClientScript.RegisterStartupScript ( this.GetType ( ), "Pop", "openModal();", true );
当我故意让显示模式的代码执行时,它不会弹出,并且我在Chrome控制台中得到错误“Uncaught ReferenceError: openModal is not defined
”。
我做错了什么?
2条答案
按热度按时间5tmbdcev1#
很可能脚本甚至在页面完全加载之前就运行了。
参考文献
t3psigkw2#
很抱歉这个答案来得太晚了,但总比没有好。我今天也遇到了同样的问题,并解决了。Bootstrap 5不支持jQuery。您可以删除jquery脚本引用并将客户端脚本更改为: