zl程序教程

您现在的位置是:首页 >  前端

当前栏目

asp.net操作javascript:confirm返回值的两种方式

JavaScriptNetASP 操作 方式 两种 返回值 confirm
2023-06-13 09:15:46 时间

在asp.net中使用confirm可以分为两种:

1.没有使用ajax,confirm会引起也面刷新

2.使用了ajax,不会刷新

A.没有使用ajax,可以用StringBuilder来完成.

(一)asp.net用StringBuilder控制后台操作javascript:confirm返回值,此方法比较烦琐

1.后台启动事件

StringBuildersb=newStringBuilder();
sb.Append("<scriptlanguage="javascript">");
sb.Append("varval=window.confirm("Areyousure!");");
sb.Append("window.document.getElementById("TextBox1").value=val;");
sb.Append("__doPostBack("TextBox1","");");
sb.Append("</script>");
this.RegisterStartupScript(System.Guid.NewGuid().ToString(),sb.ToString());

2.前台代码:

复制代码代码如下:


<asp:TextBoxID="TextBox1"runat="server"AutoPostBack="true"OnTextChanged="TextBox1_TextChanged"></asp:TextBox>

3.文本框OnTextChanged="TextBox1_TextChanged"的后台事件代码
protectedvoidTextBox1_TextChanged(objectsender,EventArgse)
{
if(((TextBox)(sender)).Text!="")
{
if(((TextBox)(sender)).Text.ToUpper()=="TRUE")
{
//确定后执行另一个事件/方法
}
if(((TextBox)(sender)).Text.ToUpper()=="FALSE")
{
//取消后执行另一个事件/方法

}

}
}

该事件也可以写成其它的方法驱动。只是判断TexBox1的值。
注意:该事件由AutoPostBack="true"引起页面刷新,全局变量丢失,最好使用session变量来保存需要存储的值。

(二)通过前台Javascript来确定后台执行的方法,也就多了个OnClientClick事件此方法最简单

前台按钮事件

复制代码代码如下:


<asp:ButtonID="bt_DeleteButton"runat="server"OnClick="bt_DeleteButton_Click"OnClientClick="if(confirm("调用后台bt_DeleteButton_Click事件,确定继续吗?")){returntrue;}else{returnfalse;}"Text="删除"Visible="False"/>

就在页面上添加

a.OnClick后台事件,

b.OnClientClick事件,javascript的confirm,选择确定后执行OnClick后台是事件bt_DeleteButton_Click

B:使用了Ajax控件的页面

复制代码代码如下:
ScriptManager.RegisterStartupScript(UpdatePanel1,UpdatePanel1.GetType(),"","alert("提示");if(confirm("是否继续执行yes)){alert("本页面继续添加")}else{window.open("productManage.aspx","_blank");}",true);