如何在MVC局部视图中保留一个值?

时间:2010-08-15 20:58:49

标签: asp.net-mvc

我有一个搜索框,实现为部分视图。我希望保留最后搜索到的值(想想Yelp,无论您正在查看哪个页面,位置始终存在)。我想将它存储在cookie中,但我不知道在哪里添加代码来读取cookie并将值添加到视图模型中。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

public static class SiteSettings
{
    //private static string _location;
    public static string Location
    {
        get
        {
            return Response.Cookies["location"].Value;
        }
    }

    private static string _loginReturnUrl;
    public static string LoginReturnUrl
    {
        get
        {
            if (_loginReturnUrl == null)
                _loginReturnUrl = WebConfigurationManager.AppSettings["LoginReturnUrl"];
            return _loginReturnUrl;
        }
    }
}

<强>更新 然后在你的控制器中,部分或代码隐藏你可以像这样调用它......

string location = SiteSettings.Location;

我不会在任何模型中放置位置属性,除非它是基本模型,其他需要位置信息的模型继承...

我使用此模式访问来自不同商店的参数。用它来缓存不经常改变的值......