我有3个部分到我的站点,站点主站,用户控制(站点站点内部)和常规页面。在页面前加载用户控制
当用户登录时,他们被重定向到常规页面。用户控制是不同帐户(自动选择第一个帐户)的下拉列表,获取他们的用户名并运行存储过程以将他们的信息提取到SiteID
会话变量中。
然后在常规页面中,我将所有标签设置为用户信息。与此代码。
if (Session["SiteID"] != null)
{
SiteID = int.Parse(Session["SiteID"].ToString());
PopulateAccountData();
PopulateAccountInformation2();
PopulateSiteNodes();
PopulateSiteMap();
}
else
{
LabelSiteName.Text = "No Site Selected";
}
问题是,当页面加载的第一次它不具备Session["SiteID"]
,我打刷新一切加载。
我是新来的ASP.net,所以我不知道如果我这样做是正确的,但我怎么得到一切加载第一次?
不要让用户控件绑定本身'Page_Load'但'DataBind'它从它应该的页面。这也可以延迟加载控件。该页面是控制器而不是'UserControl'。因此,在UserControl中提供一个公共方法,您可以从该页面调用该方法。 – 2013-02-14 14:20:53