0

我目前正在建立一个新站点,我的客户可以在其中获得自己的子域。例如:

user1.mydomain.com
user2.mydomain.com
userDef.mydomain.com
...

该站点内置并运行于:IIS、asp.net C#

所以。因为有很多虚拟主机子域。我的代码中有一个函数可以连接到数据库并检查帐户的 ID。

SELECT account_ID where account_subdomain = 'user##' LIMIT 1;

根据 ID,masterpage 和 contentpage 返回不同的数据/设计。

我的问题是,我应该在哪个“事件”中放置将 accountID 放入会话(“accountID”)的函数?

因为我想在每一个页面上都有这个,我试图把它放在母版页的 page_load 中,但这为时已晚。我猜内容页面中的 page_load 是在 masterpage 中的 page_load 之前呈现的?

Soo,有没有什么好地方可以放置我的函数,以便在网页上写其他任何内容之前完成帐户 ID 检查?

谢谢!哑光的

4

2 回答 2

1

一种选择是创建一个 HttpModule 并将您的代码放在那里,因为它会在实际页面开始处理之前到达页面请求。这将确保您的帐户 ID 在每个页面上都可用,并在您需要它的任何事件之前设置。

如果您最终选择了这条路线,则需要将代码放入 PostAcquireRequestState 或 PreRequestHandlerExecute 事件中,以便 Session 可供您修改。

于 2011-09-24T17:04:38.373 回答
0

尝试将代码放入母版页的 Page_Init 事件中。内容页的 Page_Load 事件在母版页的 Page_Load 事件之前调用。但是,在 Page_Init 的情况下,这是相反的。

于 2011-09-26T10:53:57.270 回答