在线求助:未将对象引用设置到对象的实例。

ldneedu 2010-09-14 10:45:16
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class vote : System.Web.UI.Page
{
public string voteID = "1";
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
string sdr = "server=MICROSOF-58DADF\\SQLEXPRESS;database=vote;uid=sa;pwd=root;";
SqlConnection conn = new SqlConnection(sdr);
conn.Open();
SqlCommand cmd = new SqlCommand("select voteTitle from voteMaster where voteID=" + this.voteID, conn);
string title = Convert.ToString(cmd.ExecuteScalar());
lblVoteTitle.Text = title;

SqlCommand cmdItem = new SqlCommand("select voteDetailsID,voteItem from voteDetails where voteID=" + this.voteID, conn);
SqlDataReader sdr_cmd = cmdItem.ExecuteReader();
this.rBtnVoteItem.DataSource = sdr_cmd;
this.rBtnVoteItem.DataValueField = "voteDetailsID";
this.rBtnVoteItem.DataTextField = "voteItem";
this.rBtnVoteItem.DataBind();

sdr_cmd.Close();
conn.Close();
}
}
protected void btnVote_Click(object sender, EventArgs e)
{
string sdr = "server=MICROSOF-58DADF\\SQLEXPRESS;database=vote;uid=sa;pwd=root;";
SqlConnection conn = new SqlConnection(sdr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText ="update voteDetails set voteNum=voteNum+1 where voteID=" + voteID + " and voteDetailsID=" + this.rBtnVoteItem.SelectedValue.ToString();
cmd.ExecuteNonQuery();
conn.Close();
}
protected void btnShowResult_Click(object sender, EventArgs e)
{
Response.Redirect("showResult.aspx? voteid="+this.voteID);
}
}
==========================================================
showResult.aspx


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class showResult : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
String voteID = Request.QueryString["voteid"].ToString();
string sql = "server=MICROSOF-58DADF\\SQLEXPRESS;database=vote;uid=sa;pwd=root;";
SqlConnection conn = new SqlConnection(sql);
conn.Open();
SqlCommand cmd = new SqlCommand("select * from voteDetails where voteID="+voteID,conn);
SqlDataReader sdr=cmd.ExecuteReader();
while (sdr.Read())
{
Response.Write("<font size=12 >"+sdr.GetString(2)+sdr.GetSqlInt32(3).ToString()+"</font> <br>");
}




}
}








“/vote”应用程序中的服务器错误。
--------------------------------------------------------------------------------

未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:


行 14: protected void Page_Load(object sender, EventArgs e)
行 15: {
行 16: String voteID = Request.QueryString["voteid"].ToString();
行 17: string sql = "server=MICROSOF-58DADF\\SQLEXPRESS;database=vote;uid=sa;pwd=root;";
行 18: SqlConnection conn = new SqlConnection(sql);


源文件: f:\C#教程\新建文件夹\vote\showResult.aspx.cs 行: 16

堆栈跟踪:


[NullReferenceException: 未将对象引用设置到对象的实例。]
showResult.Page_Load(Object sender, EventArgs e) in f:\C#教程\新建文件夹\vote\showResult.aspx.cs:16
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +31
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +68
System.Web.UI.Control.OnLoad(EventArgs e) +88
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3035




--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42
...全文
124 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ldneedu 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 gdjlc 的回复:]
protected void btnShowResult_Click(object sender, EventArgs e)
{
Response.Redirect("showResult.aspx? voteid="+this.voteID);
}


voteid 前面有空格,去掉它。。。
[/Quote]

哥们真是法眼,搞定啦,这样的小问题以前还真没注意过。谢了哥们!!!
ldneedu 2010-09-14
  • 打赏
  • 举报
回复
谢谢各位的帮忙 !!!
ldneedu 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wpf363093940 的回复:]
引用 2 楼 wuyq11 的回复:
Request.QueryString["voteid"]==null?"0":Request.QueryString["voteid"].ToString();

up
[/Quote]

哥们真是法眼,搞定啦,这样的小问题以前还真没注意过。谢了哥们!!!
leejelen 2010-09-14
  • 打赏
  • 举报
回复
先判断参数是否为空,再进行赋值!
gdjlc 2010-09-14
  • 打赏
  • 举报
回复
protected void btnShowResult_Click(object sender, EventArgs e)
{
Response.Redirect("showResult.aspx? voteid="+this.voteID);
}


voteid 前面有空格,去掉它。。。
懦芞 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]
Request.QueryString["voteid"]==null?"0":Request.QueryString["voteid"].ToString();
[/Quote]
up
mjfei 2010-09-14
  • 打赏
  • 举报
回复
要先判断 voteid 值是否为空,才能用Tostring()
lchy110 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]
Request.QueryString["voteid"]==null?"0":Request.QueryString["voteid"].ToString();
[/Quote]
恩 楼上的是一种避免发生异常报错的 但你这问题的根源还是你的参数的问题
看下你的页面信息 有带这个参数没
kkbac 2010-09-14
  • 打赏
  • 举报
回复
地址栏没有参数Request.QueryString["voteid"];

取querystring时候先判断下是否是空值.
风尘浪子 2010-09-14
  • 打赏
  • 举报
回复
if(Request.QueryString["voteid"]!=null)
{
string VoteID=Request.QueryString["voteid"].Tostring();
.......................
}
x895238 2010-09-14
  • 打赏
  • 举报
回复
值都没有怎么Tostring()
pgameli 2010-09-14
  • 打赏
  • 举报
回复
Request.QueryString["voteid"]是空值,不能tostring()
MSDNXGH 2010-09-14
  • 打赏
  • 举报
回复
String voteID = Request.QueryString["voteid"].ToString()
就是这个问题,上一个页面要传递一个voteid参数过来,但没传所以报错,你做超链接时做错了吧,
要这样:<a href="Default.aspx?voteid=你的值">123</a>
wuyq11 2010-09-14
  • 打赏
  • 举报
回复
Request.QueryString["voteid"]==null?"0":Request.QueryString["voteid"].ToString();

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧