2 u011774003 u011774003 于 2014.10.27 10:56 提问

服务器无法在发送 HTTP 标头之后修改 cookie。

我新增了一个a页面复制了b页面的代码配置好连接后,从b页面点击跳转到a页面之后报:服务器无法在发送 HTTP 标头之后修改 cookie。这个异常,以下是代码
HttpCookie ck = HttpContext.Current.Request.Cookies[CookiesName];
if ( ck == null )
{
ck = new HttpCookie( CookiesName );
}
ck.Expires = DateTime.Now.AddYears( 50 );
ck.Domain = CookiesDomain;
foreach ( KeyValuePair pair in dic )
{
ck.Values[pair.Key] = HttpUtility.UrlEncode( pair.Value.ToString( ) );
ck.Values[pair.Key + ExpireTimeStr] = !timeout.HasValue ? HttpUtility.UrlEncode( CookiesExpire.ToString( "yyyy-MM-dd HH:mm:ss" ) ) : HttpUtility.UrlEncode( DateTime.Now.AddMinutes( ( double ) timeout.Value ).ToString( "yyyy-MM-dd HH:mm:ss" ) );
}
ck.Values[ValidateName] = GetValidateStr( ck );
HttpContext.Current.Response.Cookies.Add( ck );

2个回答

ljp654321
ljp654321   2015.01.06 11:08

原因应该是你在Add一个Cookie之前 有一次输出Response.Write();Response.End()

feitian19873000
feitian19873000   2015.03.13 13:29

图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!