我在设计一个系统的时候,需要判断用户,用的是COOKIE
我把Request.Cookies["name"]写道App_Code里边的一个类底下,该类继承于System.Web.UI.Page,然后再别的aspx页面引用该类来接收Cookie出现错误提示Request is not available in this context.
后来我以为不能以直接的App_Code下的.cs类来接收,就换了个方法新加了一个aspx页面,在该aspx.cs下用一个public方法接收,然后再别的aspx页面调用这个方法,还是出现提示Request is not available in this context.
请问各位这个原因是为什么?
还有就是能不能把接收Cookie写到别的类或者什么页面里边,在需要使用的时候直接调用,如果有麻烦给个方法,谢谢了!
我把Request.Cookies["name"]写道App_Code里边的一个类底下,该类继承于System.Web.UI.Page,然后再别的aspx页面引用该类来接收Cookie出现错误提示Request is not available in this context.
后来我以为不能以直接的App_Code下的.cs类来接收,就换了个方法新加了一个aspx页面,在该aspx.cs下用一个public方法接收,然后再别的aspx页面调用这个方法,还是出现提示Request is not available in this context.
请问各位这个原因是为什么?
还有就是能不能把接收Cookie写到别的类或者什么页面里边,在需要使用的时候直接调用,如果有麻烦给个方法,谢谢了!
解决方案 »
- QQ登录技术,问下为什么'rasapi32.dll': 动态链接库(DLL)初始化例程失败
- 不符合W3C标准的网页如何让浮动层固定
- 我有A和B两个网站,发布在不同的地方,可以直接相互POST数据吗?
- 【帮顶有分】我应该补充哪方面的知识
- 事情比较严重,sql把个人版本换成企业版本后内存由1.2G到1.6G
- DataView小问题
- 一个看起来在asp.net实现起来比较复杂的问题
- ==> 请问怎么用JAVASCRIPT访问已读出来的DATASET ? 别的方法实现同样效果也行...
- 日期计算的问题
- 求解两个小问题,请知道的朋友帮帮我?
- 用javascript为文本框赋值不成功
- javascrip定位frame的问题
/// <summary>
/// 保存一个Cookie
/// </summary>
/// <param name="CookieName">Cookie名称</param>
/// <param name="CookieValue">Cookie值</param>
/// <param name="CookieTime">Cookie过期时间(小时),0为关闭页面失效</param>
public void SaveCookie(string CookieName,string CookieValue,double CookieTime)
{
HttpCookie myCookie = new HttpCookie(CookieName);
DateTime now = DateTime.Now;
myCookie.Value = CookieValue; if(CookieTime!=0)
{
myCookie.Expires = now.AddDays(CookieTime);
if(HttpContext.Current.Response.Cookies[CookieName]!=null)
HttpContext.Current.Response.Cookies.Remove(CookieName); HttpContext.Current.Response.Cookies.Add(myCookie);
}
else
{
if(HttpContext.Current.Response.Cookies[CookieName]!=null)
HttpContext.Current.Response.Cookies.Remove(CookieName); HttpContext.Current.Response.Cookies.Add(myCookie);
}
}
/// <summary>
/// 取得CookieValue
/// </summary>
/// <param name="CookieName">Cookie名称</param>
/// <returns>Cookie的值</returns>
public string GetCookie(string CookieName)
{
HttpCookie myCookie = new HttpCookie(CookieName);
myCookie = HttpContext.Current.Request.Cookies[CookieName]; if (myCookie != null)
return myCookie.Value;
else
return null;
}
/// <summary>
/// 清除CookieValue
/// </summary>
/// <param name="CookieName">Cookie名称</param>
public void ClearCookie(string CookieName)
{
HttpCookie myCookie = new HttpCookie(CookieName);
DateTime now = DateTime.Now; myCookie.Expires = now.AddYears(-2); HttpContext.Current.Response.Cookies.Add(myCookie);
}
之后在各个页面调用就应该OK了。
{
public string GetCookies()
{
if (Request.Cookies["name"] == null)
{
return "nothing";
}
else
{
return Request.Cookies["name"].ToString();
}
}
......
用System.Web.HttpContext.Current.Request.Cookies["name"]
解决了