-2

問題は、if条件内のAppState ["variableName"](またはApp.variableNameまたはHttpContext.Current.Application ["variableName"]など)に格納されているものをテストする方法が見つからないことです。(Razorを文字列変数としてページにプロットできるにもかかわらず、オブジェクトとしてのみ表示されます)

したがって、実際の文字列値を言うためにそれらを比較することはできません。

私は、他の数え切れないほどの試みの中で、ToString()を試しましたが無駄になりました。

私の質問は次のとおりです。C#を使用したWebMatrix WebページのAppState変数を使用して完全な機能を実現するにはどうすればよいですか?

4

1 に答える 1

1

ここでの問題は、キャストとAppState変数の間にスペースを入れずにキャストが必要になることです。この質問を投稿したとき、私はまだC#サーバー側のプログラミングにとても慣れていませんでした(まあ、まだ本当に)。動作する例は次のとおりです。

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

また、多くの人が「グローバル変数」という用語を好むかどうかにかかわらず、AppState変数は実際にはグローバル変数と見なされます。これは、MikeBrindのMikesdotnettingの記事「ASP.NETWebページ間でのデータの転送」のアプリケーション変数の最初の行に明確に記載されています。

"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 に答える