未将对象引用设置到实例

刘婷婷 2010-11-16 10:08:33
public static void GridViewToExcel(GridView gv, string excelName)
{
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + excelName + ".xls");

//关闭 ViewState
//this.EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();

System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(tw);
//获取control的HTML
gv.RenderControl(hw);
//把HTML写回浏览器
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
tw.Close();
hw.Close();
}
public override void VerifyRenderingInServerForm(Control control)
{
//方法重写
}
protected void btnExcel_Click(object sender, EventArgs e)
{
string[] excelCustName = new string[dtgOdOrderlt.Columns.Count];
for (int i = 0; i < dtgOdOrderlt.Columns.Count; i++)
{
view_ALLodOrder col = new view_ALLodOrder();
if (!string.IsNullOrEmpty(col.CustName.ToString()))
{
string headText = col.CustName.ToString();
string names = dtgOdOrderlt.Columns[i].ToString();
names = headText;
int charIndex = dtgOdOrderlt.Columns[i].ToString().IndexOf('/');
if (charIndex > -1)
{
excelCustName[i] = headText.Substring(0, charIndex);
}
else
{
excelCustName[i] = headText;
}
}
else
{
excelCustName[i] = null;
}
}
GridViewToExcel(dtgOdOrderlt, "OrderLook");
}
报错:如下“/AlbumFoundation”应用程序中的服务器错误。
--------------------------------------------------------------------------------

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

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

源错误:


行 878: get
行 879: {
行 880: return base.Getstring(ColumnNames.CustName);
行 881: }
行 882: set


源文件: d:\Projects\AlbumFoundation.root\AlbumFoundation\WebSites\AlbumFoundation\App_Code\Concrete\view_ALLodOrder.cs 行: 880

堆栈跟踪:


[NullReferenceException: 未将对象引用设置到对象的实例。]
MyGeneration.dOOdads.BusinessEntity.Getstring(String columnName) +72
Watabe.Shanghai.Albumfoundation.view_ALLodOrder.get_CustName() in d:\Projects\AlbumFoundation.root\AlbumFoundation\WebSites\AlbumFoundation\App_Code\Concrete\view_ALLodOrder.cs:880
orders_ODOrderListtest.btnExcel_Click(Object sender, EventArgs e) in d:\Projects\AlbumFoundation.root\AlbumFoundation\WebSites\AlbumFoundation\orders\ODOrderListtest.aspx.cs:448
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565


...全文
184 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
刘婷婷 2010-11-16
  • 打赏
  • 举报
回复
我知道为空
我也做了判断
结果还是这样的
breezekey 2010-11-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 huwen7565833 的回复:]
ColumnNames可能是null
设置断点调试一下!!
[/Quote]up
huwen7565833 2010-11-16
  • 打赏
  • 举报
回复
ColumnNames可能是null
设置断点调试一下!!
DataBox-MDX 2010-11-16
  • 打赏
  • 举报
回复

return base.Getstring(ColumnNames.CustName);

调试下这个ColumnNames对象是否为空,或者ColumnNames.CustName这个属性为空也有可能
lucio2007 2010-11-16
  • 打赏
  • 举报
回复
插入断点,依次快速检视 ColumnNames,ColumnNames.CustName,以及Getstring() ,其中必然有一个是null或者抛出了异常
孟子E章 2010-11-16
  • 打赏
  • 举报
回复
ColumnNames可能是null
guoyanhong1111 2010-11-16
  • 打赏
  • 举报
回复
这样的错,在程序中经常会有的,那么告诫我们访问每一个对象的时候,都要判断!
做了判断,还是报错!那是你判断得不对吧!
帅员外 2010-11-16
  • 打赏
  • 举报
回复
if(ColumnNames!=null)
return base.Getstring(ColumnNames.CustName);


多加个 判断把
帅员外 2010-11-16
  • 打赏
  • 举报
回复
属性为 空 你就点 他的属性。

肯定会报错的。!
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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