[英]Assigning Different Onclicks Depending On Which Submit Button Clicked
我有一个asp.net
表单,其中包含3个按钮,这些按钮触发用于单击按钮并供用户输入详细信息的相关事件模态。当前,每个模态都有一个OnClick
,将其带到我的代码后面。
我现在尝试实现在单击每个模式上的“提交”时显示的成功模式。
我想只有甲肝所有三个我的其他人的共享EONE成功模式。 当初始模式关闭时,我正在工作,然后显示我的成功模式,但是它没有写入我的数据库。
如果我将自己的OnClick
到我的成功模式上的按钮上,它将发布到我的数据库中,所以我在想我需要一些方法,将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" />
成功模式关闭按钮
<asp:Button CssClass="btn btn-warning" ID="btnModalSuccess" runat="server" Text="Close" ToolTip="Click to close this screen." />
如果要在单击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;
}
}
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;" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.