Response.Redirect( "url" ) 对象引用未设置为对象的实例



在C#中使用Visual Studio 2010 .NET Framework 4.0。

每次我尝试使用 response.redirect("url") 进行重定向时,都会收到以下错误:

System.NullReferenceException was unhandled by user code
  Message=Object reference not set to an instance of an object.
  Source=App_Web_uck3gvsb
  StackTrace:
       at _Default.Page_Load(Object sender, EventArgs e) in c:inetpubwwwrootp1Default.aspx.cs:line 15
       at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
       at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
       at System.Web.UI.Control.OnLoad(EventArgs e)
       at System.Web.UI.Control.LoadRecursive()
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
  InnerException: 

这是代码:即使在没有任何内容的简单上,我也会收到同样的错误!

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
    public  HttpResponse response;
    protected void Page_Load(object sender, EventArgs e)
    {
        response.Redirect("http://www.google.com");
    }
}

你应该使用:

Response.Redirect("www.bing.com");

不:

response.Redirect("...")

您需要使用 Page.Response 属性:

Page.Response.Redirect(...);

或者只是

Response.Redirect(...);

当您声明HttpResponse对象时,它不会初始化,因此null 。这就是例外的原因。

注释掉你的public HttpResponse response; 你已经声明了一个未初始化的unnecessary变量。

public partial class _Default : System.Web.UI.Page
{
    //public  HttpResponse response;
    protected void Page_Load(object sender, EventArgs e)
    {
        //this is enough
        Response.Redirect("http://www.google.com");
    }
}

最新更新