asp.net操作javascript:confirm返回值的兩種方式

字號(hào):


    在asp.net中使用confirm可以分為兩種:
    1.沒(méi)有使用ajax,confirm會(huì)引起也面刷新
    2.使用了ajax,不會(huì)刷新
    A.沒(méi)有使用ajax,可以用StringBuilder來(lái)完成.
    (一)asp.net用StringBuilder控制后臺(tái)操作javascript:confirm返回值,此方法比較煩瑣
    1.后臺(tái)啟動(dòng)事件
    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.前臺(tái)代碼:
    代碼如下:
    <asp:TextBox ID="TextBox1" runat="server" AutoPostBack="true" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>
    3.文本框OnTextChanged="TextBox1_TextChanged"的后臺(tái)事件代碼
    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")
    {
    //確定后執(zhí)行另一個(gè)事件/方法
    }
    if (((TextBox)(sender)).Text.ToUpper() == "FALSE")
    {
    //取消后執(zhí)行另一個(gè)事件/方法
    }
    }
    }
    該事件也可以寫成其它的方法驅(qū)動(dòng)。只是判斷TexBox1的值。
    注意:該事件由AutoPostBack="true"引起頁(yè)面刷新,全局變量丟失,最好使用session變量來(lái)保存需要存儲(chǔ)的值。
    (二)通過(guò)前臺(tái)Javascript來(lái)確定后臺(tái)執(zhí)行的方法,也就多了個(gè)OnClientClick事件此方法最簡(jiǎn)單
    前臺(tái)按鈕事件
    代碼如下:
    <asp:Button ID="bt_DeleteButton" runat="server" OnClick="bt_DeleteButton_Click" OnClientClick="if(confirm('調(diào)用后臺(tái)bt_DeleteButton_Click事件,確定繼續(xù)嗎?')){return true;}else{return false;}" Text="刪除" Visible="False" />
    就在頁(yè)面上添加
    a.OnClick后臺(tái)事件,
    b.OnClientClick事件,javascript的confirm,選擇 確定后執(zhí)行 OnClick后臺(tái)是事件bt_DeleteButton_Click
    B:使用了Ajax控件的頁(yè)面
    代碼如下:
    ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "", "alert('提示');if(confirm('是否繼續(xù)執(zhí)行yes)){alert('本頁(yè)面繼續(xù)添加')}else{window.open('productManage.aspx','_blank');}", true);