C# 确认消息框
我必须为一个函数显示一个是非弹出消息框> 这是我为警报弹出窗口所做的>C# 确认消息框,c#,javascript,asp.net,popup,C#,Javascript,Asp.net,Popup,我必须为一个函数显示一个是非弹出消息框> 这是我为警报弹出窗口所做的> Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", "<script>alert('File Updated');</script>"); Page.ClientScript.RegisterStartupScript(this.GetType(),“警报”,“警报('File Updated');”); 这就是我在
Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", "<script>alert('File Updated');</script>");
Page.ClientScript.RegisterStartupScript(this.GetType(),“警报”,“警报('File Updated');”);
这就是我在代码隐藏中要做的:
if (ID != 0)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Confirm", "<script>confirm('are you sure?');</script>");
if (yes)
{
perform function
}
else
{
return;
}
}
if(ID!=0)
{
Page.ClientScript.RegisterStartupScript(this.GetType(),“Confirm”,“Confirm('you sure?');”);
如果(是)
{
履行职能
}
其他的
{
返回;
}
}
确认不起作用,,,有什么建议吗
谢谢
编辑部分:
string scriptString = "<script language='JavaScript'> ";
scriptString += "confirm ('Are you sure you want to Close this period.')";
scriptString += "</script>";
Response.Write(scriptString);
string scriptString=”“;
scriptString+=“确认('是否确实要关闭此期间')”;
脚本字符串+=“”;
Write(脚本字符串);
Page.ClientScript.RegisterStartupScript将在客户端上注册该脚本。据我所知,您正在服务器上执行if语句。请您具体说明什么是确认无效?警报框是否显示,但如果按“是/否”,则不会产生任何效果?如果是,请移动If。。。客户机上的else语句。无论如何,我建议您使用以下代码替换RegisterStartupScriptBlock:
ClientScript.RegisterClientScriptBlock
(this.GetType(), "confirm", "alert('do')", true);
Page.ClientScript.RegisterStartupScript将在客户端上注册该脚本。据我所知,您正在服务器上执行if语句。请您具体说明什么是确认无效?警报框是否显示,但如果按“是/否”,则不会产生任何效果?如果是,请移动If。。。客户机上的else语句。无论如何,我建议您使用以下代码替换RegisterStartupScriptBlock:
ClientScript.RegisterClientScriptBlock
(this.GetType(), "confirm", "alert('do')", true);
看起来您要做的是(在一个简化的场景中):
ID
的值(假设
这是一个查询字符串参数)ID
的值非零,则提示
用户需要确认ID
值并执行某些操作的步骤3和步骤4的代码将被“跳过”
您需要做的是决定如何在客户机站点和服务器端之间分离工作,因为您试图做的事情根本不起作用。在不知道页面如何工作以及ID值来自何处的情况下,我无法给出一个具体的示例,但是,类似于:
ID
,看看它是否符合您的标准,如果符合,则发出javascript,但使用一些附加的javascript检查对提示的响应,并导致页面重新提交,但在查询字符串上添加了confirmed=yes看起来您要做的是(在一个简化的场景中):
ID
的值(假设
这是一个查询字符串参数)ID
的值非零,则提示
用户需要确认ID
值并执行某些操作的步骤3和步骤4的代码将被“跳过”
您需要做的是决定如何在客户机站点和服务器端之间分离工作,因为您试图做的事情根本不起作用。在不知道页面如何工作以及ID值来自何处的情况下,我无法给出一个具体的示例,但是,类似于:
ID
,看看它是否符合您的标准,如果符合,则发出javascript,但使用一些附加的javascript检查对提示的响应,并导致页面重新提交,但在查询字符串上添加了confirmed=yes你不能这样做。RegisterStartupScript只是在页面最终呈现时注册要包含的脚本。呈现(为HTML)后,HTML将发送到浏览器。因此,当用户最终看到弹出窗口时,您的代码早已完成 编辑:
请参阅Mike C:您需要在提交之前将确认移动到。您不能这样做。RegisterStartupScript只是在页面最终呈现时注册要包含的脚本。呈现(为HTML)后,HTML将发送到浏览器。因此,当用户最终看到弹出窗口时,您的代码早已完成 编辑:
参见Mike C:您需要在提交之前将确认移动到。这里的问题是,如果不发回,您无法获取确认框的值。JavaScript在客户端运行,直到发生回发(通过ajax或常规方式),它才能与C#文件“对话” <
if (ID != 0)
{
Perform function
}
<asp:ImageButton runat="server" ID="DeleteUrlImageButton" ImageUrl="~/Images/icon_remove.gif"
OnClick="DeleteUrlImageButton_Clicked"
OnClientClick="return confirm('Are you sure you want to delete?');" />