asp.net操作javascript:confirm返回值的两种方式 |
本文标签:confirm,返回值 在asp.net中使用confirm可以分为两种: 1.没有使用ajax,confirm会引起也面刷新 2.使用了ajax,不会刷新 A.没有使用ajax,可以用StringBuilder来完成. (一)asp.net用StringBuilder控制后台操作javascript:confirm返回值,此方法比较烦琐 1.后台启动事件 StringBuilder sb = new StringBuilder(); sb.Append("<script language=javascript>"); sb.Append("var val=window.confirm(Are you sure!);"); 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:TextBox ID="TextBox1" runat="server" AutoPostBack="true" OnTextChanged="TextBox1_TextChanged"></asp:TextBox> 3.文本框OnTextChanged="TextBox1_TextChanged"的后台事件代码 protected void TextBox1_TextChanged(object sender, EventArgs e) { if (((TextBox)(sender)).Text != "") { if (((TextBox)(sender)).Text.ToUpper() == "TRUE") { //确定后执行另一个事件/方法 } if (((TextBox)(sender)).Text.ToUpper() == "FALSE") { //取消后执行另一个事件/方法 } } } 该事件也可以写成其它的方法驱动 。只是判断TexBox1的值 。 (二)通过前台Javascript来确定后台执行的方法,也就多了个OnClientClick事件此方法最简单 前台按钮事件 复制代码 代码如下: <asp:Button ID="bt_DeleteButton" runat="server" OnClick="bt_DeleteButton_Click" OnClientClick="if(confirm(调用后台bt_DeleteButton_Click事件,确定继续吗?)){return true;}else{return false;}" 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); |