【问题标题】:In what "event" should i put the -account-ID-session code?我应该将 -account-ID-session 代码放在什么“事件”中?
【发布时间】:2011-09-26 18:53:57
【问题描述】:

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

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 检查?

谢谢! 哑光

【问题讨论】:

    标签: c# asp.net master-pages page-init


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-05-03
        • 1970-01-01
        • 2012-07-09
        • 2014-06-26
        • 2011-10-01
        • 1970-01-01
        • 2012-05-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多