[英]How to use a Page variable in User Control?
我有一個帶有私有變量的頁面: AccountData
。
這處理所有帳戶數據,我將它們保存在回發之間的viewstate中 。
我有一個名為AccountFavorites
的用戶控件,該控件呈現所有帳戶“收藏夾”主題。
當用戶決定要取消一個喜歡的主題時,他單擊asp:LinkButton
並將其回發到服務器以更改數據庫中的值。
但是,控件不知道什么是AccountData
,只有頁面知道。
如何在控件的回發中使用AccountData
?
我可以轉回該頁面嗎?
<myprefix:AccountFavorites runat="server" id="TheAccountFavorites" />
在您的頁面中設置信息...
protected void Page_Load(object sender, EventArgs e)
{
TheAccountFavorites.TheAccountData=MyAccountData;//assuming you'll load up MyAccountData
}
在您的控件中,將AccountData公開為公共屬性。 這將允許您從頁面訪問它。
public AccountData TheAccountData {get;set;}
假設AccountData
是類型名稱,而不是其他名稱,例如字符串。 但是您可以將AccountData更改為字符串,它將起作用。
由於是擁有/父用戶控件的頁面,因此最好讓頁面了解控件的詳細信息,而不是相反。 將AccountData
屬性添加到控件,並在頁面的Page_Load
執行以下操作:
uc.AccountData = AccountData;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.