WebMatrix中2:存储静态值(Webmatrix 2: Storing static valu

2019-06-27 19:25发布

会在哪里存储静态值的最佳场所。 我将如何访问它。

我希望能够从任何页面访问静态值。 但是,只有在一个地方来定义它们。

例如“电子邮件”和“phoneNumber的”

我曾尝试之类的SessionPageData ,并确定在我的头中的变量(所有页面上使用),但这不起作用。

该部分在页面后初始化,所以它要么不工作在所有,或在第一次负载不工作。

例如,第一时间负载:

页面载入< - 试图访问变量。 不会被初始化。

头部分加载< - 可变initalised。

结果。 页面无法显示的变量。

我曾考虑将其存储在配置文件中。 但我不知道如何从WebMatrix的2访问此我可以创造一个TXT / ini文件或东西,但肯定解析文件是不是做到这一点的最好办法。 - 因为我已经尝试这样做,它似乎像在MVC3(配置)有效,和TXT文件是不实际的阅读为每个请求。

Answer 1:

所谓“静”,如果你的意思是不要在应用程序的生命周期变化的值,你通常会使用HelperPage.App属性进行存储。 它是基于dynamic类型,所以你可以创建任意属性:

App.Email = "someone@somewhere.com"; 

或者你可以使用与传统的名称/值征收方式届时AppState :

AppState["email"] = "someone@somewhere.com";

但是,如果你的“静态”变量是用户特定的,你应该使用会话作为范围限定于用户。 或者,如果你想永久地储存它们使用一个数据库。

您可以在_PageStart.cshtml设置会话值(可能需要创建),或在Global.asax文件的在session_start事件,然后访问他们在任何局部/查看你的愿望。



文章来源: Webmatrix 2: Storing static values