2016-07-15 60 views
0

我有一个asp.net表单,其中有3个按钮,它触发相关按钮的点击和用户输入详细信息。目前,每个模式都有一个OnClick,这些对我有用后面的代码。根据点击哪个提交按钮指定不同的点击

我想现在实现一个成功的模态,当点击这些模式中的每一个'提交'时显示。

我想只有我的另一个人的三个共享的成功模式。当初始模态关闭并且我的成功模式被显示出来时,我有点工作,但是它没有写入我的数据库。

如果我的广告我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." /> 
+0

我想我明白你想实现什么,但你必须分享相关的JS代码。另外你是什么意思?“我有点工作,因为初始模态关闭,然后我的成功模式显示,但它不写入我的数据库。”什么不写入数据库? – marekful

+0

@marekful目前(没有'成功'模式),当用户填写3个模式之一的字段时,当他们点击“提交”时,它将输入到数据库表中的所有细节作为每个按钮的当前“OnClick”在我的代码中做不同的事情,所以我需要一种方法来添加正确的'Onclick',取决于哪个初始按钮被点击,所以它使用正确的代码背后 – murday1983

+0

@marekful我目前没有任何JS共享,因为这是位im不确定如何编写并通过成功进行工作'关闭'按钮 – murday1983

回答

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; 
    } 
} 


话虽这么说,我可能会建议您发布数据T先服务器,然后显示成功模式。否则,用户可以看到成功模式并关闭浏览器而不点击 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;" />