what is the datatype for SecID in the database? you can always dostring ss = DataBinder.Eval(e.Item.DataItem, "SecID").ToString();

解决方案 »

  1.   


       按照saucer的话提示说System.NullReferenceException: 未将对象引用设置到对象的实例。
       为什么??
      

  2.   

    如果SecID是整形的话就不行,字符串就可以,Why??
      

  3.   

    where are you calling the code? if you are working with DataGrid/DataList/Repeater, do it inside ItemDataBound event handler
      

  4.   

    对,我否放到里面了,,而且用string的也没问题,只是整型的不行啊,大家再帮帮忙,System.NullReferenceException: 未将对象引用设置到对象的实例。
      

  5.   

    if the value is 整型, you cannot use (string) to cast, you need to use ToString()>>>System.NullReferenceException: 未将对象引用设置到对象的实例something else is wrong, show more code, or try to debug
      

  6.   

    DataBinder.Eval(e.Item.DataItem, "SecID").ToString
      

  7.   

    错误提示如下,不知道什么原因,谢谢异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 
    行 129: private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    行 130: {
    行 131: string ss1 = DataBinder.Eval(e.Item.DataItem, "SecID").ToString();
    行 132: }
    行 133: }
     源文件: e:\mywork\nae\nae\web\pagedtest.aspx.cs    行: 131 堆栈跟踪: 
    [NullReferenceException: 未将对象引用设置到对象的实例。]
       Nae.Web.PagedTest.DataGrid1_ItemDataBound(Object sender, DataGridItemEventArgs e) in e:\mywork\nae\nae\web\pagedtest.aspx.cs:131
       System.Web.UI.WebControls.DataGrid.OnItemDataBound(DataGridItemEventArgs e) +110
       System.Web.UI.WebControls.DataGrid.CreateItem(Int32 itemIndex, Int32 dataSourceIndex, ListItemType itemType, Boolean dataBind, Object dataItem, DataGridColumn[] columns, TableRowCollection rows, PagedDataSource pagedDataSource) +181
       System.Web.UI.WebControls.DataGrid.CreateControlHierarchy(Boolean useDataSource) +1131
       System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) +49
       System.Web.UI.WebControls.BaseDataList.DataBind() +23
       DevCenter.SqlPager.DataBind()
       Nae.Web.PagedTest.GetSource() in e:\mywork\nae\nae\web\pagedtest.aspx.cs:81
       Nae.Web.PagedTest.Page_Load(Object sender, EventArgs e) in e:\mywork\nae\nae\web\pagedtest.aspx.cs:37
       System.Web.UI.Control.OnLoad(EventArgs e) +67
       System.Web.UI.Control.LoadRecursive() +35
       System.Web.UI.Page.ProcessRequestMain() +731 
      

  8.   

    try the following, and tell us the results
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
       Response.Write(String.Format("{0}, DataItem is null? {1}<BR>", e.Item.ItemIndex, e.Item.DataItem == null));
       object o = DataBinder.Eval(e.Item.DataItem, "SecID");
       Response.Write(String.Format("SecID is null? {0}, DBNull? {1}<BR>", o== null, o == DBNull.Value));
    }
      

  9.   

    真得很奇怪,我用了你(saucer(思归/MVP) 兄)的代码以后就没有问题了,可是之前怎么就老提示错误呢,不解……