2013-10-28 25 views
1

我在頁面中有2個ASP按鈕(buttonUsername和buttonReset)。首先執行AD搜索,並設置一個私有變量,而第二個按鈕執行一個操作,使用之前設置的變量。ASP.NET aspx按鈕單擊重置

public partial class ResetPassword : System.Web.UI.Page { 
    private UserPrincipal tmpPwdUser; 

    protected void buttonUsername_Click(object sender, EventArgs e) { 
     this.tmpPwdUser = ... 
    } 

    protected void buttonReset_Click(object sender, EventArgs e) { 
     myObj.myFunction(this.tmpPwdUser); // --> this.tmpPwdUser is void 
    } 
} 

我的問題:this.tmpPwdUserbuttonUsername_Click功能設置是否正確,但在觸發事件buttonReset_Click,可變this.tmpPwdUsernull。我想,當事件被觸發時,頁面被重新加載,所以每個局部變量被重置。當點擊按鈕si時,有沒有辦法保持狀態?

+1

爲什麼不直接把該值在會話變量或查看狀態 – Rex

+0

@Rex最後我使用狀態 – Naigel

回答

0

嘗試使用後面 Submit_Command(對象發件人,CommandEventArgs E) { }

2

當你在代碼中的OnEvent屬性代替的onclick

Poperty上按鈕(按需= 「Submit_Command」) 可疑的是,爲新請求創建了一個新的表單實例。您必須保留這些請求之間的變量值。一種方法是將值存儲在ViewState中。
您可以創建存儲和檢索從ViewState中值的輔助屬性:

private UserPrincipal TmpPwdUser 
{ 
    get 
    { 
    return ViewState["UniqueViewStateKey"] As UserPrincipal; 
    } 
    set 
    { 
    ViewState["UniqueViewStateKey"] = value; 
    } 
}