首页 > 编程 > JavaScript > 正文

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

2019-11-02 14:53:56
字体:
来源:转载
供稿:网友

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

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

2.使用了ajax,不会刷新

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

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

1.后台启动事件

 
九个字网名[www.la240.com/html2017/1/9/]
1 2 3 4 5 6 7 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"的后台事件代码

 

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 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的值。
注意:该事件由AutoPostBack="true"引起页面刷新,全局变量丢失,最好使用session变量来保存需要存储的值。

(二)通过前台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控件的页面

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表