在C#代码后面显示“是/否”警告框

时间:2010-09-30 14:10:28

标签: c# javascript asp.net .net-3.5 webforms

我试图在C#中的代码隐藏中显示“是/否”消息框。如果用户单击“是”,我想调用“AddRecord”过程,如果用户单击“否”,则不执行任何操作。

理想情况下,我想使用下面的代码,但是来自codebehind:

OnClientClick = "return confirm('Are you sure you want to delete?');"

我搜索SO和谷歌,但无法找到任何有用的信息。

6 个答案:

答案 0 :(得分:12)

在“添加记录”按钮上

,只需执行以下操作:

    <asp:button ID="AddRecordbutton" runat="server" Text="Add Record"
 onclick="AddRecordButton_Click" onclientclick="return confirm('add record?');" />

在你的代码中,只需将添加记录代码放在AddRecordButton_Click事件处理程序中。只有在弹出窗口中单击“是”时才会调用它。


或者,您可以让代码隐藏在最初呈现按钮时分配onclientclick代码。

例如:

protected void Page_Load(object sender, EventArgs e) {
  AddRecordButton.OnClientClick = @"return confirm('Add Record?');";
}

答案 1 :(得分:2)

不,你没有。

你似乎误解了网页的基本概念。

ASPX页面是一个简短的程序,它启动,生成似乎HTML,然后终止。然后,HTML将通过Internet发送到用户浏览器。您在代码隐藏中所做的一切必须在用户看到任何内容之前完成。

你真的想要一个javascript对话框。 (实际上,根据您的描述,您可以在HTML中使用标准HTML表单创建一个看起来像消息框的div。)

答案 2 :(得分:1)

要显示实际的消息框,您需要在客户端完成javascript。无论出于何种原因,如果你不能使用javascript,你可以做AEMLoviji所建议的并且以一些聪明的方式“伪造”它。

请注意,您不需要jQuery来显示消息框,简单的javascript就足够了。

答案 3 :(得分:0)

如果您在面板上使用带有两个按钮的Ajax Control Toolkit模态弹出扩展器,这将在服务器上触发一个事件,可以处理和执行您希望的任何方法/功能

请参阅here以获取示例

答案 4 :(得分:0)

使用RegisterStartupScript

ScriptManager.RegisterStartupScript(this, GetType(), "unique_key",
    "element.onclick = function(){ return confirm('Are you sure you want to delete?'); };",
    true);

答案 5 :(得分:0)

显示是/否

<script>     
        function AlertFunction() {
            if (confirm('Are you sure you want to save this thing into the database?')) {
               $('#ConfirmMessageResponse').val('Yes');
            } else {
                $('#ConfirmMessageResponse').val('No');
            }
        }
    </script>

从.net方面处理它:

string confirmValue = ConfirmMessageResponse.Value;
                if (confirmValue == "Yes")
                {...}