Bootstrap Modal Popup显示服务器端代码中的动态内容
本文关键字:动态 代码 Modal Popup 显示 服务器端 Bootstrap | 更新日期: 2023-09-27 18:27:46
我正在使用C#、Bootstrap和Jquery的组合构建一个web表单项目。如果我想在屏幕上向用户显示任何类型的消息,我会在主页上调用一个空的模态。
我将要显示的文本传递给Jquery函数(也在母版页上),该函数会更改模态上的文本。
传递简单的文本消息(如"Hello World")可以很好地工作,但如果我想显示更复杂的内容,如html代码或错误异常的输出文本,那么模态就不会出现。没有错误消息,只是什么都没有。
如有任何想法/意见,我们将不胜感激。
主页上的模式代码
<div id="modalAlert" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
×</button>
<h1 class="modal-title">
<asp:Label ID="lblAlertHeader" runat="server" Text="Heading"></asp:Label>
</h1>
</div>
<div class="modal-body">
<div id="modalAlertBody">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
主页上的功能
function ShowAlert(heading,message) {
$('#modalAlert').modal({ backdrop: 'static', keyboard: false, show: true });
$('#lblAlertHeader').text(heading);
$('#modalAlertBody').html(message);
}
子页面上的服务器端代码
string alertHeading = "Alert Heading";
string alertMessage = "Alert Message";
string function = string.Format("ShowAlert('{0}','{1}');", alertHeading, alertMessage);
ClientScript.RegisterStartupScript(this.GetType(), "alert", function, true);
您在客户端代码中没有正确引用标签对象。在渲染的HTML上,标签的ID将是类似Body_lblAlertHeader
的东西
您可以在运行时使用$('#<%=lblAlertHeader.ClientID%>').text(heading);
来获得正确的ID。
在浏览器中使用F12(开发工具)。这些天他们都有,但Chrome可能是最好的(imo)。确保您没有收到任何控制台错误,如果消息或头字符串中有撇号,JQuery/JavaScript就会中断。当JavaScript中断时,它通常会轰炸掉之前的所有JavaScript代码。
在showAlert函数中,首先将模态打开为
$("#modelAlert").modal({
background: 'static',
keyboard: false,
show: true});
打开后,使用shown.bs.modal事件,该事件在modal打开后激发。这意味着它将在模态打开后填充动态内容
$( '#modalAlert').on
('shown.bs.modal' , function() {
// put here your dynamic messages.
});