日期:2014-05-19  浏览次数:20707 次

写了一个小例子,找来找去都找不到错误
htlm:

<%@   Page   language= "c# "   Codebehind= "test.aspx.cs "   AutoEventWireup= "false "   Inherits= "test.WebForm1 "   %>


.CS

protected   System.Web.UI.WebControls.DataGrid   dg;
private   readonly   string   dsn   =   ConfigurationSettings.AppSettings[ "dsn "].ToString();


private   void   Page_Load(object   sender,   System.EventArgs   e)
{
//   在此处放置用户代码以初始化页面
SqlConnection   conn   =   new   SqlConnection(dsn);
SqlDataAdapter   da   =   new   SqlDataAdapter( "select   *   from   zhuce ",conn);
DataSet   ds   =   new   DataSet();
da.Fill(ds);

dg.DataSource   =   ds;
dg.DataBind();
}

web.config:

<appSettings>
        <add   key= "dsn "   value= "data   source=xp\abc;database=abc;uid=sa;pwd=sa "> </add>
    </appSettings>


运行后提示错误:(但我实在看不出哪里有错误,我的代码应该没有问题啊!!!!!)

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

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

源错误:  


行   30:   SqlDataAdapter   da   =   new   SqlDataAdapter( "select   *   from   zhuce ",conn);
行   31:   DataSet   ds   =   new   DataSet();
行   32:   da.Fill(ds);
行   33:  
行   34:   dg.DataSource   =   ds;
 



------解决方案--------------------
htlm:

<%@ Page language= "c# " Codebehind= "test.aspx.cs " AutoEventWireup= "false " Inherits= "test.WebForm1 " %>

<form id=form1 method=post runat=server>
<datagrid runat=server id=dg>
</form>