4

我正在使用 asp.net 和 c#。对于在不同方法和事件中使用的每个页面,我有一些变量,例如CurrentCulture, SignedinUserEmailMenuItemID哪种方式最适合保存它们的值?

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

我们可以最好地将每一个用作:

  • 如果您在回帖后需要它,请将其保存到 viewstate 。如果您不回帖,则没有理由将其保存在那里。
  • 如果您想从页面中获取它,请将其保存到变量中,或者将其发送到页面上的其他自定义控件。
  • 如果您想在其他页面上使用它,请将其保存到会话中 - 例如,如果某些用户选择了喜欢的语言,则将该选择保存在会话中并在下一页中使用。
  • 如果您赢得了用户能够保存 url 并一起保留该参数,请使用 url参数

,最好保存在会话中CurrentCultureSignedinUserEmail因为您想在每次通话、每次页面查看时使用它,无论是否回发。

于 2013-01-13T09:39:42.810 回答