如何在不使用asp.net离开现有页面的情况下执行URL或超链接

时间:2009-04-17 07:33:48

标签: c#

我已使用此代码

WebClient webClient = new WebClient();
byte[] reqHTML;
reqHTML = webClient.DownloadData(url);

执行网址。在这里我有一个问题,在使用此代码时,是否设置了cookie?

2 个答案:

答案 0 :(得分:1)

默认情况下,不会使用WebClient发送Cookie。您可以编写使用cookie container的实现:

public class CookieAwareWebClient : WebClient  
{  
    private CookieContainer _container = new CookieContainer();  

    protected override WebRequest GetWebRequest(Uri address)  
    {  
        WebRequest request = base.GetWebRequest(address);  

        if (request is HttpWebRequest)  
            ((HttpWebRequest)request).CookieContainer = _container;  

        return request;  
    }  
}

答案 1 :(得分:0)

如果您指的是正在执行的ASP.NET页面中的Cookie,则表示否:我非常确定WebClient根本不会 当前正在执行的Web请求。

如果你想要这个功能,你可以从浏览器中使用AJAX吗?也许通过jQuery?这应该按照标准浏览器规则流动上下文等。

或者,您将不得不自己处理cookie(即将它们复制到WebClient,如果需要,则将其复制)。