在代码中存储变量的最佳方法是什么?

时间:2013-01-13 09:17:27

标签: c# asp.net

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

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;
    }
}

它们的值可能由查询字符串或其他局部变量分配。

1 个答案:

答案 0 :(得分:2)

我们最好将每一个用作:

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

CurrentCultureSignedinUserEmail最好保存在会话中,因为您希望在每次调用时,在每个页面视图中使用它,使用和不使用回发。