【发布时间】:2021-08-30 15:24:51
【问题描述】:
在任何人说之前,我已经尝试了所有我能找到的示例,但到目前为止似乎没有任何效果,所以我发布了一个新问题。
我正在处理一个 ASP.NET Web 表单项目,并且我有一个包含 GridView 控件的页面,该控件为每个记录提供多个命令按钮,代表不同的选项。其中之一是“订阅”,我想用它在引导模式对话框中显示订阅记录的详细信息。我将模态对话框代码精简到最低限度:
<asp:Panel ID="pnlSubscriptionPopUp" runat="server" Visible="false">
<div id="SubscriptionPopUp" class="modal fade" role="dialog">
<div class="modal-dialog modal-dialog-scrollable modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Subscription Details</h4>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button id="Button1" runat="server" onclick="btnCancel_Click" cssclass="btn btn-primary">Cancel</button>
<button id="btnClose" class="btn btn-success">Close</button>
</div>
</div>
</div>
</div>
</asp:Panel>
这是我正在使用的 JavaScript 代码:
<script type="text/javascript">
$(document).ready(function () {
$("#SubscriptionPopUp").modal("show");
$("#btnClose").click(function () {
$("#SubscriptionPopUp").modal("hide");
});
});
function ShowStatus() {
console.log("got here!");
$("#SubscriptionPopUp").modal("show");
}
</script>
现在,当我单击 GridView 中的按钮时,它会触发 RowCommand 事件,这是我包含的用于注册和调用客户端脚本的代码:
ScriptManager.RegisterStartupScript ( this.Page, this.GetType ( ), "ShowSubscriptionStatus", "ShowStatus();", true );
所以,所有代码都会触发,如果您注意到的话,我会检测 JavaScript 函数来记录一条消息,这确实有效。问题是,模态形式永远不会出现。控制台中没有任何类型的错误或消息,没有调试错误……什么都没有。
我很困惑为什么它没有正确触发,或者为什么我至少没有收到任何类型的错误消息。
【问题讨论】:
-
pnlSubscriptionPopUp是否曾经设置为Visible = True?如果需要,最好将其默认设置为True,然后在代码隐藏中设置为False。 -
如果我在初始页面加载时将其设置为 true,它会显示出来。后续操作不会做任何事情。
-
“如果我在初始页面加载时将其设置为 true,它会显示出来”——如果您将
pnlSubscriptionPopUp设置为 True,则模式会在初始加载时自动弹出打开?或者你的意思是 JS 函数可以在按钮点击初始加载后弹出模态框,但之后就不能再工作了? -
它会在初始加载时打开模式($(document) 函数中的脚本会这样做),但是当我尝试在其他任何时候加载它时它什么也不做。我在控制台中根本没有收到任何消息
-
可以在浏览器中调试吗?在
ShowStatus()上设置断点,看看它是否被击中。
标签: c# jquery asp.net twitter-bootstrap webforms