显示成功提交到数据库的表单数据的jQuery Modal
本文关键字:表单 数据 jQuery Modal 数据库 成功 提交 显示 | 更新日期: 2023-09-27 18:06:54
我正面临jquery模态对话框的问题。我希望模态框显示只有当我的数据成功保存到数据库。我使用c#和asp.net,并在后台我使用Sql server 2008 R2。目前我的数据是成功进入,我显示"数据成功保存在标签上"点击按钮后,但我想显示一个模态框只有当我点击按钮,我的数据被保存。
我已经创建了这个脚本
$("#Btndiag").click(function () { $("#myModal").modal(); });
和内容页主体我写了这个
<asp:Button ID="Btndiag" runat="server" Text="show dialog" onclick="Btndiag_Click1" />
<div class="modal hide fade" id="myModal">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h3>Settings</h3>
</div>
<div class="modal-body">
<p>Here settings can be configured...</p>
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal">Close</a>
<a href="#" class="btn btn-primary">Save changes</a>
</div>
</div>
要实现你想要的,你必须在后端处理数据,然后有ASP。. NET Framework为你执行一个脚本。
要做到这一点,在整个页面回发时使用ClientScriptManager.RegisterClientScriptBlock
,如果控件在UpdatePanel
中,则使用ScriptManager.RegisterClientScriptBlock
。
protected void Btndiag_Click1(object sender, EventArgs e)
{
// process database
// verify results
if (success)
{
ClientScriptManager.RegisterClientScriptBlock(this, "Btndiag_Click1", "$('#myModal').modal();", true);
}
}
请记住,如果按钮和模态div在UpdatePanel
中,则将ClientScriptManager.RegisterClientScriptBlock
替换为ScriptManager.RegisterClientScriptBlock
。
最后,作为最后一个信息提示…您的脚本($("#Btndiag").click(...)
)将无法工作,因为ASP。. NET在呈现为HTML时更改元素id。
你必须按以下方式操作:
$("#<%= Btndiag.ClientID %>").click(function () { $("#myModal").modal(); });
请注意,您做而不是需要对按钮的单击事件做任何事情。您希望框架在回发后自动运行您的脚本。