程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> Cross-Page Postback拾遺

Cross-Page Postback拾遺

編輯:關於ASP.NET

ASP.NET 2.0中加入的Cross-Page Postback機制讓我們ASP.NET開發人員有了輕松的(無需自定義)跨頁面發POST請求的方式。但在實際開發時,難免遇到點小問題。比如在點擊按鈕發生跨頁提交的時候,想先彈出一個JavaScript的confirm對話框進行確認,用戶如果OK,發生postback,如果Cancel掉,就停留在原頁面不做任何操作,類似於我們在刪除按鈕上添加的客戶端功能。此時,便事不由人了……

我們准備兩個頁面。在Default.aspx中,加入文本框、按鈕,設置按鈕跨頁回送到Target.aspx:

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Cross Page Post Back" PostBackUrl="~/Target.aspx" OnClientClick="return confirm('Are u sure?')" />

在Target.aspx.cs中,Find到Default.aspx裡的TextBox,把值顯示在Label上:

protected void Page_Load(object sender, EventArgs e)
{
    if (PreviousPage != null)
        Label1.Text = (PreviousPage.FindControl("TextBox1") as TextBox).Text;
}

運行,然後發現當我們點擊Cancel的時候,確實可以Cancel掉,但是點OK,卻無論如何都無法將請求發出去了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved