从.cs文件重定向到ASPX文件

时间:2012-09-05 11:35:44

标签: asp.net web httpresponse

在asp.net网站上,在一个WebForm上,在按钮onclick事件之后,我正在调用代码隐藏方法,如下所示

 protected void Button1_Click(object sender, EventArgs e)
 {
     MyClass obj = new MyClass();
     String res = obj.CallMe("some parameters");
 }

MyClass位于 MyClass.cs 文件中。 在 CallMe()

public String CallMe("some parameters")
{
   String to_return ="";
   //some code : to_return="something";
   string page_name= // some code returns a name of page to redirect to
   if(page_name is null)
   { return to_return; }
   else
      //redirect to page_name;
}

如何从.cs文件重定向,因为我们无权访问HttpResponse对象?

2 个答案:

答案 0 :(得分:1)

如果从网页中调用您的类,则可以访问该类中的静态HttpContext.Current实例。只需导入System.Web命名空间并正常调用:

using System.Web;
System.Diagnostics.Debug.WriteLine(HttpContext.Current.Timestamp.ToString());
HttpContext.Current.Response.Redirect("http://www.google.com");

答案 1 :(得分:1)

试试这个

if(HttpContext.Current != null)
     HttpContext.Current.Response.Redirect("~");

使用HttpContext可以获取当前请求,响应等。但是,请务必检查以确保当前上下文不为空,尤其是在从业务层类调用时。

ASP.Net Forum