asp.net-其他信息: 未将对象引用设置到对象的实例。

问题描述

其他信息: 未将对象引用设置到对象的实例。

想要用代码来编辑gridview控件的数据;然而我运行时告诉我“其他信息: 未将对象引用设置到对象的实例。”求教各位大神,该怎么改,最好有代码;下面就是我的代码,不重要的收起来了;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using System.Collections;

public partial class liuyanban : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Label2.Text = "当前在线人数为" + Application["count"].ToString() + "人";
Label2.Text = Session["UserID"].ToString();
if (!IsPostBack)
{
this.bind();
}

}
public SqlConnection GetConnection()
{
string myStr = ConfigurationManager.AppSettings["talkroomConnectionString"].ToString();
SqlConnection myConn = new SqlConnection(myStr);
return myConn;
}

protected void bind()
{
    SqlConnection myConn = GetConnection();
    myConn.Open();
    string sqlStr = "select * from liaotian ";
    SqlDataAdapter myDa = new SqlDataAdapter(sqlStr, myConn);
    DataSet myDs = new DataSet();
    myDa.Fill(myDs);
    GridView1.DataSource = myDs;
    GridView1.DataKeyNames = new string[] { "ID" };
    GridView1.DataBind();
    myDa.Dispose();
    myDs.Dispose();
    myConn.Close();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
    GridView1.EditIndex = e.NewEditIndex;
    this.bind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    int ClassID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString());
    string CName = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString();
    string sqlStr = "update liaotian set 用户名'" + CName + "' where ID=" + ClassID;
    SqlConnection myConn = GetConnection();
    myConn.Open();
    SqlCommand myCmd = new SqlCommand(sqlStr, myConn);
    myCmd.ExecuteNonQuery();
    myCmd.Dispose();
    myConn.Close();
    GridView1.EditIndex = -1;
    this.bind();
}
protected void Button_send_Click(object sender, EventArgs e)
{

    string took = TextBox1.Text;
    string connString = System.Configuration.ConfigurationManager.ConnectionStrings["talkroomConnectionString"].ConnectionString;
    SqlConnection myConn = new SqlConnection(connString);
    string sqlStr = " insert into liaotian(用户名,时间,内容) values('" + Session["UserID"].ToString() + "','" + System.DateTime.Now.ToString() + "','" + TextBox1.Text .ToString() + "') ";
    SqlCommand myCmd = new SqlCommand(sqlStr, myConn);
    myConn.Open();
    myCmd.ExecuteNonQuery();
    myConn.Close();
    TextBox1.Text = " ";
    GridView1.DataBind ();
}

protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
    GridView1.EditIndex = -1;
    this.bind();
}
protected void Button1_Click(object sender, EventArgs e)
{
    SqlConnection sqlCon = new SqlConnection();
    sqlCon.ConnectionString = "server=PC201503061527;uid=sa;pwd=sa;database=talkroom";
    sqlCon.Open();
    string sql = string.Format("select * from liaotian where 用户名='{0}' ", Session["UserID"].ToString());
    try
    {
        SqlCommand cmd = new SqlCommand(sql, sqlCon);
        SqlDataAdapter da = new SqlDataAdapter(sql, sqlCon);

        DataSet dadaset = new DataSet("liaotian");
        da.Fill(dadaset);
        this.GridView1.DataSourceID = null;
        GridView1.DataSource = dadaset.Tables[0];
        GridView1.DataBind();

    }
    catch
    { 

    }
}

}

解决方案

那句报错?用到session或者application对象时最好判断下所读取的键是否存在,要不程序池回收会导致session和application被释放,在调用ToString就报错了

 if(Application["count"]!=null)Label2.Text = "当前在线人数为" + Application["count"].ToString() + "人";
if( Session["UserID"]!=null)Label2.Text = Session["UserID"].ToString();

解决方案二:

this.GridView1.DataSourceID = null; 这句话不需要

解决方案三:

自定义的UI没有包含.GridView1控件

解决方案四:

很多可能,比如session application datasource等等为null,你得跟据错误的行来排错,如果你的web.config禁用了调试,你先开启。然后知道了错误的行,就显而易见了。总之有变量为null

解决方案五:

肯定用了一个为null的对象,可以开启调试模式,一步步跟踪代码,你会发现bug

时间: 2025-01-29 19:45:27

asp.net-其他信息: 未将对象引用设置到对象的实例。的相关文章

C#编译问题 其他信息: 未将对象引用设置到对象的实例。

问题描述 privateboolcheckAdobeReader(){Microsoft.Win32.RegistryKeyuninstallNode=Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWAREMicrosoftWindowsCurrentVersionUninstall");foreach(stringsubKeyNameinuninstallNode.GetSubKeyNames()){Microsoft.

asp.net运行提示未将对象引用设置到对象的实例错误解决方法_实用技巧

未将对象引用设置到对象的实例 一.网络上的一般说法 1.ViewState对象为Null. 2.DateSet空. 3.sql语句或Datebase的原因导致DataReader空. 4.声明字符串变量时未赋空值就应用变量. 5.未用new初始化对象. 6.Session对象为空. 7.对控件赋文本值时,值不存在. 8.使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值. 9.使用FindControl时,控件不存在却没有做预处理. 10.重复定义造成未

ASP.NET 中aspx文件的TextBox在aspx.cs文件中无法被引用,提示未将对象引用设置到对象的实例。

问题描述 ASP.NET中aspx文件的TextBox在aspx.cs文件中无法被引用,提示未将对象引用设置到对象的实例.vs2012 解决方案 解决方案二:既然可以执行,说明变量有定义.你自己定义了变量?解决方案三:在vs工具上,你的代码,点击鼠标右键,你可以看到许多调试开发工具功能,例如各种"重构",还有"查看定义"."查找所有引用"等等.要想找到一个变量的定义是不是有歧义,你得直接借助这些工具找到其定义的地方.如果不会使用vs开发工具,那么

ASP.NET未将对象引用设置到对象的实例(C#)

问题描述 usingSystem;usingSystem.Data;usingSystem.Data.OleDb;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.

asp.net下配置数据源时出现: 未将对象引用设置到对象的实例。_实用技巧

打开vs2005或vs2008,  新建网站,把ACCCESS数据库Copy到App_Data里,  拖"AccessDataSource"到窗口里,  配置数据源...  选择数据库  下一步  sql语句里是空的,点"查询生成器..."  弹出:  ---------------------------  Microsoft Visual Studio  ---------------------------  未将对象引用设置到对象的实例.  --------

错误解决:System.NullReferenceException: 未将对象引用设置到对象的实例

在ASP.NET开发中,遇到System.NullReferenceException: 未将对象引用设置到对象的实例的错误提示,解决方法如下:       (1)所设置的变量为空值或没有取到值,一般出现在传递参数的时候出现这个问题,也会在使用datagrid或gridview或datalist等数据控件时出现. (2)控件名称与codebehind里面的没有对应 (3)未用new初始化对象 (4)在程序中所引用的控件不存在 解决方法: (1)使用try..catch...finally捕捉错误

未将对象引用设置到对象的实例。哪位能帮帮忙?已经找了几天还没找到问题

问题描述 "/xinwenfabu"应用程序中的服务器错误.--------------------------------------------------------------------------------未将对象引用设置到对象的实例.说明:执行当前Web请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.异常详细信息:System.NullReferenceException:未将对象引用设置到对象的实例.源错误:行77:

急救·一直好好的突然一下就不行了· [NullReferenceException: 未将对象引用设置到对象的实例

问题描述 未将对象引用设置到对象的实例.说明:执行当前Web请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.异常详细信息:System.NullReferenceException:未将对象引用设置到对象的实例.源错误:[没有相关的源行]源文件:c:WindowsMicrosoft.NETFrameworkv4.0.30319TemporaryASP.NETFilesrootac64075ed0fba290App_Web_eyddlggb.0

checkbox全选,怎么提示未将对象引用设置到对象的实例

问题描述 if(Button2.Text=="全选"){for(inti=0;i<table1.Rows.Count;i++){CheckBoxcb=(CheckBox)table1.Rows[i].Cells[0].FindControl("checkbox");cb.Checked=true;Button2.Text="全不选";}return;}if(Button2.Text=="全不选"){for(inti=0;