Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何对代码隐藏使用javascript确认方法_C#_Javascript_Asp.net_Code Behind - Fatal编程技术网

C# 如何对代码隐藏使用javascript确认方法

C# 如何对代码隐藏使用javascript确认方法,c#,javascript,asp.net,code-behind,C#,Javascript,Asp.net,Code Behind,我有一个关于代码隐藏的js确认。我想在用户单击“是”时继续处理,否则,用户单击“否”,什么也不做。在else if语句中。感谢您的回答。使用: else if (Result == 1) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Test", "return confirm('Are you sure you want to delete? This action cannot be undone.')

我有一个关于代码隐藏的js确认。我想在用户单击“是”时继续处理,否则,用户单击“否”,什么也不做。在else if语句中。感谢您的回答。

使用:

else if (Result == 1)
{
  ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Test", "return  confirm('Are you sure you want to delete? This action cannot be undone.')", true);                              
  FSI.DeleteINsertData(ID.ToString(), No.ToString());
}
Response.Write(“确认('您确定要删除吗?此操作无法撤消’);”;
可能有用

使用:

else if (Result == 1)
{
  ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Test", "return  confirm('Are you sure you want to delete? This action cannot be undone.')", true);                              
  FSI.DeleteINsertData(ID.ToString(), No.ToString());
}
Response.Write(“确认('您确定要删除吗?此操作无法撤消’);”;

可能有用

您的问题意味着您要做的是暂停服务器端代码(在删除任何内容之前),同时等待执行某些客户端代码(弹出确认框以确保用户确实希望执行删除)。事情不是这样的

ScriptManager.RegisterClientScriptBlock(…)调用所做的只是告诉服务器在向客户端发送响应时应该包含该脚本。然后它不会暂停并发送脚本;相反,它只是继续执行,执行删除,然后页面和脚本被发送到客户端。您无法改变这种行为——这是服务器端web编程工作方式的基本部分


您的选择实际上是让他们首先单击的删除按钮/链接在您进入服务器之前弹出确认框(如果他们改变主意,取消表单提交或单击链接),或者让服务器回复该提交/单击确认页面,要求他们单击另一个按钮,然后再次返回服务器以实际执行删除操作。

您的问题意味着您要做的是暂停服务器端代码(在删除任何内容之前)在等待执行某些客户端代码时(弹出确认框以确保用户确实希望执行删除)。事情不是这样的

ScriptManager.RegisterClientScriptBlock(…)调用所做的只是告诉服务器在向客户端发送响应时应该包含该脚本。然后它不会暂停并发送脚本;相反,它只是继续执行,执行删除,然后页面和脚本被发送到客户端。您无法改变这种行为——这是服务器端web编程工作方式的基本部分


您的选择实际上是让他们首先单击的删除按钮/链接在您进入服务器之前弹出确认框(如果他们改变主意,取消表单提交或单击链接),或者让服务器回复该提交/单击带有确认页面的按钮,该页面要求他们单击另一个按钮,然后再次返回服务器以实际执行删除。

我认为您可以在服务器端和客户端之间进行合并。 您可以将脚本添加为代码隐藏:

string scriptStr=“var confirmation=confirm('something');
如果(确认){document.getelementbyid('button')。单击();}
else{//something}”;
RegisterStartupScript(“ScriptFunction”,scriptStr)


我认为您可以在服务器端和客户端之间进行合并。 您可以将脚本添加为代码隐藏:

string scriptStr=“var confirmation=confirm('something');
如果(确认){document.getelementbyid('button')。单击();}
else{//something}”;
RegisterStartupScript(“ScriptFunction”,scriptStr)


if(确认('message')){//do something}其他{return false}
if(确认('message')){//do something}其他{return false}
不起作用。这与原始代码的问题完全相同;向页面输出中写入一些脚本不会暂停服务器端代码,这将在用户阅读确认框之前继续并删除数据,更不用说单击任何内容了。这根本是错误的方法,行不通。这与原始代码的问题完全相同;向页面输出中写入一些脚本不会暂停服务器端代码,这将在用户阅读确认框之前继续并删除数据,更不用说单击任何内容了。这根本是错误的做法。
and then in your code behind handle the button click event.
This may works for you.