4

私はasp.netとc#を使用しています。さまざまなメソッドやイベントで使用されるページごとに、、などの変数がありますが、それらの値を保持するにはどちらの方法が最適CurrentCultureですSignedinUserEmailか?MenuItemID

private string _CurrentCulture;
private string CurrentCulture
{
    get
    {
        return _CurrentCulture;
    }
    set
    {
        _CurrentCulture = value;
    }
}

また

private string CurrentCulture
{
    get
    {
        if (ViewState["CurrentCulture"] == null)
        {
            return "en-UK";
        }
        else
        {
            return ((string)ViewState["CurrentCulture"]);
        }
    }
    set
    {
        ViewState["CurrentCulture"] = value;
    }
}

それらの値は、クエリ文字列または別のローカル変数によって割り当てられる場合があります。

4

1 に答える 1

2

それぞれを次のように使用するのが最適です。

  • ポストバック後に必要な場合は、ビューステートに保存して ください。ポストバックを行わない場合、そこに保存する理由はありません。
  • ページ自体から取得する場合、またはページ上の他のカスタムコントロールに送信する場合は、変数に保存します。
  • 他のページで使用したい場合は、セッションに保存します。たとえば、一部のユーザーが好みの言語を選択した場合は、その選択をセッションに保存して、次のページで使用します。
  • ユーザーがURLを保存できるようにした場合は、 URLパラメーターを使用し、一緒にそのパラメーターを保持します。

CurrentCulture、ポストバックのSignedinUserEmail有無にかかわらず、すべての呼び出し、すべてのページビューで使用するため、セッションで保存することをお勧めします。

于 2013-01-13T09:39:42.810 に答える