我有一个包含私有变量的页面:AccountData
。
这会处理所有帐户数据,并将其保存在回复之间的 viewstate 中。
我有一个名为AccountFavorites
的用户控件,它可以呈现所有帐户收藏夹主题。
当用户决定取消一个喜欢的主题时,他点击了asp:LinkButton
,然后回发到服务器以更改数据库中的值。
但是,控件不知道AccountData
是什么,只知道页面是什么。
如何在对照的回发中使用AccountData
?
我可以将回发转到页面吗?
答案 0 :(得分:2)
<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更改为字符串,它将起作用。
答案 1 :(得分:1)
由于它是拥有/父级用户控件的页面,因此页面最好知道控件的细节,而不是相反。将AccountData
属性添加到控件并在页面的Page_Load
中执行:
uc.AccountData = AccountData;