我有一个asp.net
表单,其中包含3个按钮,用于触发点击按钮的相关模式以及用户输入详细信息。目前每个模式都有OnClick
个把我的代码带到后面。
我正在努力实现一个成功模式,以便在“提交”时显示。点击每个模态。
我希望只有我所有三个人共享的成功模式。我有点工作,因为初始模态关闭,然后显示我的成功模态,但它不会写入我的数据库。
如果我在我的成功模式中将OnClick
添加到我的按钮之一,它会发布到我的数据库中,因此我想我需要一些方法,添加一个{{1}我的关闭'成功模态按钮,但我需要使用正确的OnClick
填充,具体取决于首次选择的按钮。
当前代码
数据输入模式提交按钮
OnClick
成功模态关闭按钮
<asp:Button CssClass="btn btn-success" ID="btnSubmitNewFunc" runat="server" Text="Submit" ToolTip="Click to submit your request." data-toggle="modal" data-target="#modalSuccess" data-backdrop="static" data-keyboard="false" data-dismiss="modal" OnClick="btnSubmitNewFunc_Click" />
<asp:Button CssClass="btn btn-success" ID="btnSubmitBug" runat="server" Text="Submit" ToolTip="Click to submit your request." data-toggle="modal" data-target="#modalSuccess" data-backdrop="static" data-keyboard="false" data-dismiss="modal" OnClick="btnSubmitBug_Click" />
<asp:Button CssClass="btn btn-success" ID="btnSubmitNewPlace" runat="server" Text="Submit" ToolTip="Click to submit your request." data-toggle="modal" data-target="#modalSuccess" data-backdrop="static" data-keyboard="false" data-dismiss="modal" OnClick="btnSubmitNewPlace_Click" />
答案 0 :(得分:1)
如果要在单击btnModalSuccess
时提交数据,可以先将原始命令名保存在隐藏字段中:
<asp:HiddenField ID="hiddenCommand" runat="server" />
<asp:Button ID="btnSubmitNewFunc" ... OnClientClick="return showSuccess('NewFunc');" />
<asp:Button ID="btnSubmitBug" ... OnClientClick="return showSuccess('Bug');" />
<asp:Button ID="btnSubmitNewPlace" ... OnClientClick="return showSuccess('NewPlace');" />
借助此Javascript实用程序功能:
function showSuccess(cmd) {
$('#hiddenCommand').val(cmd);
$('#modalsuccess').modal('show');
return false; // To prevent the postback
}
在btnModalSuccess
的事件处理程序中,处理将取决于存储在隐藏字段中的命令:
protected void btnModalSuccess_Click(object sender, EventArgs e)
{
switch (hiddenCommand.Value)
{
case "NewFunc":
ProcessNewFunc();
break;
case "Bug":
ProcessBug();
break;
case "NewPlace":
ProcessNewPlace();
break;
}
}
<小时/> 话虽这么说,我可能会建议您先将数据发布到服务器,然后显示Success模式。否则,用户可以看到成功模式并关闭浏览器而不单击
btnModalSuccess
,从而阻止数据保存到数据库。
在代码隐藏中看起来像这样:
protected void btnSubmitNewFunc_Click(object sender, EventArgs e)
{
// Save data to DB here
...
ShowSuccessModal();
}
protected void btnSubmitBug_Click(object sender, EventArgs e)
{
// Save data to DB here
...
ShowSuccessModal();
}
protected void btnSubmitNewPlace_Click(object sender, EventArgs e)
{
// Save data to DB here
...
ShowSuccessModal();
}
private void ShowSuccessModal()
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowSuccess", "$('#modalsuccess').modal('show');", true);
}
按钮btnModalSuccess
只会在不引起回发的情况下解除模态:
<asp:Button ID="btnModalSuccess" runat="server" Text="Close" ... OnClientClick="$('#modalsuccess').modal('hide'); return false;" />