如何从后面的代码中的“确认”框中获取响应

时间:2012-07-25 05:52:50

标签: c# asp.net

我是asp.net/C#的新手。我正在尝试创建一个Web应用程序。

以下是我的要求。

我正在尝试在按钮点击时保存记录。在保存记录之前,我将检查数据库中是否存在该记录(在后面的代码中)。如果它存在,那么我需要向用户显示一条警告“记录已经存在。你要继续吗? ?“当用户按'是'时,我需要继续保存代码中的记录,否则我只需要退出保存过程。

//......code for checking the existence of the record    
if (check == true)
{            
    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", " confirm('Record already exist.Do you want to proceed?');", true);
}
//

上面的代码显示了确认框,其中包含“确定”和“取消”按钮。 我的问题是

  1. 如何在确认对话框中将其设为“是”或“否”?
  2. 在用户按“是”/“否”后,如何捕获响应(是/否),继续我的其余程序?
  3. 我已经搜索了很多。但是得不到合适的答案。请帮我解决这个问题。

5 个答案:

答案 0 :(得分:3)

您可以通过多种方式实现这一目标:

一个是在页面上放置一个按钮,使其显示:无,当确认为真时,用js触发其点击。

就像在aspx中一样

<asp:Button runat="server" ID="btnSaveData" 
     onClick="btnSaveData_Click" style="display:none;" />
在客户端

为调用确认对话框创建一个js函数,如

function ConfirmSave()
{
   if(confirm('Record already exist.Do you want to proceed?')
   {
       jQuery("[ID$=btnSaveData]").click();
   }

}
代码背后的

您的代码检查某个事件处理程序

if (check == true)
{            
    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", 
      "ConfirmSave();", true);
}

bthSaveData点击处理程序以保存数据。

protected void btnSaveData_Click(object sender, EventArgs e)
{
 // Code for your saving.
}

答案 1 :(得分:2)

您可以在JS中使用确认框

var ans = confirm ('Record already exist.Do you want to proceed?');
if(ans==true)
{
}
else
{
}

其次,要在代码中获得响应,您可以将Yes / No值存储到隐藏字段中,例如

document.getElementById('<%= hiddenField.ClientID %>').value = ans;

答案 2 :(得分:0)

您可以查看此链接http://www.codeproject.com/Articles/8173/A-Simple-ASP-NET-Server-Control-Message-Box-Confir

您可以创建自己的自定义确认框。

答案 3 :(得分:0)

其中一个解决方法是将TRUE / FALSE标志存储在具有属性runat =“server”的控件中,具体取决于用户所做的选择(是/否)。然后在后端,您可以检查此控件的值。

答案 4 :(得分:0)

将AJAX工具包与modalpopupextender一起使用。

   <cc1:modalpopupextender id="ModalPopupExtender1" runat="server"  cancelcontrolid="ButtonNo" okcontrolid="ButtonYes" popupcontrolid="PNL" targetcontrolid="UrSaveButton">
   </cc1:modalpopupextender>  
   <asp:Panel ID="PNL" runat="server" Style="display: none; width: 200px; background-color: #000099; border-width: 2px; border-color: Black; border-style: solid; padding: 20px;">
     <span style="color: White; font-weight: bold">Record already exist.Do you want to proceed?</span>
       <br />
        <br />
            <div style="text-align: right;">
                <asp:Button CssClass="tbl_blue" ID="ButtonYes" runat="server" CausesValidation="false" EnableTheming="false" Text="YES" />
                <asp:Button CssClass="tbl_blue" ID="ButtonNo" runat="server" CausesValidation="false" EnableTheming="false" Text="NO" />
             </div>
  </asp:Panel>

您可以根据需要自定义它。