-2

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

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

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

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

4

1 回答 1

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

于 2012-10-29T14:01:22.580 回答