普通的Class可以使用Response.Redirect到Uri吗?

时间:2011-07-15 07:09:58

标签: redirect

我有以下代码,但遇到错误说“响应在此上下文中不可用。”出了什么问题?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.IO;

public class Class1
{
    public Class1()
    {
    }

    public void MoveToSite(string url)
    {
        System.Web.UI.Page Resp = new Page();
        Resp.Response.Redirect(url);
    }
}

2 个答案:

答案 0 :(得分:2)

Page的Response对象是表示当前HTTP响应的实例。它由ASP.NET创建时传递给页面。如果您创建一个新页面,它会神奇地获取Request属性,有人必须设置它。

您可以像这样访问当前请求:

HttpContext.Current.Response.Redirect(...)

但是,在构造类型为Class1的新对象时,最好将Response对象传递给Class1。

答案 1 :(得分:0)

尝试通过HttpContext.Current.Response

访问Response对象