如何从AppState变量引用数据?

时间:2012-09-21 19:46:26

标签: c# if-statement webmatrix asp.net-webpages

问题是我找不到在if条件中测试存储在AppState [“variableName”](或App.variableName或HttpContext.Current.Application [“variableName”]等)中的任何内容的方法。 (它只将它视为一个对象,即使我可以在页面上用Razor绘制它作为我认为的字符串变量)

所以,我无法将它们与实际的字符串值进行比较。

我在无数其他尝试中尝试过ToString()无济于事。

我的问题是:如何使用C#在WebMatrix网页中使用AppState变量实现完整功能?

1 个答案:

答案 0 :(得分:1)

这里的问题是需要进行强制转换,而无需在强制转换和AppState变量之间留出空格。在我发布这个问题的时候,我对C#服务器端编程还是那么新(好吧,还是真的)。有效的一个例子是:

if ((string)AppState["myVariable"] == "someString")
{
    //do some stuff
}

此外,无论是否有许多人喜欢术语“全局变量”,AppState变量实际上都被视为全局变量。 Mike Brind的Mikesdotnetting文章“在ASP.NET网页之间转移数据”在应用程序变量的第一行中清楚地说明了这一点:

"Application variables are also known as global variables." --(Mikesdotnetting)

此外,如果您(无论您是谁)没有阅读本文并且是WebMatrix的新手,或者想要查看在WebMatrix中的页面之间传输数据的所有选项,请自己做一个巨大的帮助并阅读这个 - 在这里找到的阅读,写得很好,文化程度很高的文章:

http://www.mikesdotnetting.com/Article/192/Transferring-Data-Between-ASP.NET-Web-Pages