【问题标题】:redirecting to another asp.net page using request.querystring in asp.net在 asp.net 中使用 request.querystring 重定向到另一个 asp.net 页面
【发布时间】:2017-06-29 13:22:40
【问题描述】:
int ob=0;

protected void Button1_Click(object sender, EventArgs e)

{
    ob = Convert.ToInt32(Request.QueryString["value"].ToString());

    if (RadioButton1.Checked == true)
    {
        ob = ob + 1;
    }
    else
    {
        ob = ob + 0;
    }
    Response.Redirect("result.aspx?value = " + ob);
}

异常:- System.NullReferenceException:'未设置对象引用 到一个对象的实例。'

System.Collections.Specialized.NameValueCollection.this[string].get 返回 null。

【问题讨论】:

标签: c# asp.net request.querystring


【解决方案1】:
Request.QueryString["value"]

它返回空值。因此,当您在 null 上调用 ToString() 时,它会引发异常。

【讨论】:

  • 在上一页中,我编写了以下代码: Response.Write("ques2.aspx?value =" + ob);所以变量“value”被带到这个页面。
  • Response.Write 它是关于将字符串写入 HTTP 响应输出流。看看msdn.microsoft.com/en-us/library/1463ysyw(v=vs.110).aspx 所以简而言之,即使你调用 Response.Write("ques2.aspx?value =" + ob);这并不意味着 Request.QueryString 中存在“值”
  • 您应该确保从上一页传递值参数。例如。在代码后面的上一页中,您需要调用 Response.Redirect("your-page.aspx?value=" + "value of value parameter");在目标页面上的这种情况下,您的代码 - ob = Convert.ToInt32(Request.QueryString["value"].ToString());会正常工作。当然,“值参数的值”应该是一个整数。
猜你喜欢
  • 1970-01-01
  • 2011-02-22
  • 2014-07-21
  • 2017-09-16
  • 1970-01-01
  • 2011-08-22
  • 2011-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多