2013-02-14 94 views
0

我有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,所以我不知道如果我这样做是正确的,但我怎么得到一切加载第一次?

+1

不要让用户控件绑定本身'Page_Load'但'DataBind'它从它应该的页面。这也可以延迟加载控件。该页面是控制器而不是'UserControl'。因此,在UserControl中提供一个公共方法,您可以从该页面调用该方法。 – 2013-02-14 14:20:53

回答

0

用途:的IsPostBack

看://www.java-samples.com/showtutorial.php?tutorialid=1083

+0

我不知道如何把它放在回位将解决这个问题。你是说把我的代码放在上面的ispostback {}中。 usercontrol允许他们选择不同的账户来选择哪个账户进行回发。我想我不会跟着你,对不起。 – Zach 2013-02-14 14:38:00