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

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

理想情况下,我想使用下面的代码,但是从代码隐藏:

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

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

在“添加记录”按钮上,只需执行以下操作:

   

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


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

例如:

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

不,你没有。

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

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

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

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

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

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

请看这里的例子

使用RegisterStartupScript

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

显示是/否

  

从.net方面处理它:

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