出错请高人指点。用户代码未处理nullreferenceexception未将对象引用设置到对象的实例,

opelope 2016-03-21 02:35:00
出错请高人指点,以下代码编译能过,运行报错。“用户代码未处理nullreferenceexception未将对象引用设置到对象的实例”



private void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{

int intCurrentRowNumber = this.dataGridView1.CurrentCell.RowIndex;
string aa = this.dataGridView1.Rows[intCurrentRowNumber].Cells[0].Value.ToString();

}
...全文
127 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Magnetism_net 2016-03-21
  • 打赏
  • 举报
回复
this.dataGridView1.Rows[intCurrentRowNumber].Cells[0].Value.ToString(); 这个地方Rows[intCurrentRowNumber]可能就是得到一个null对象,那么你后续的.Cells[0]就会nullreferenceexception 并且随之而来的Cells[0]里面也可能是一个null值,你去.Value也会报这个错 如果Value本身也是个null值,那么你ToString也会报这个错。 你这一句话里面到处是坑呐。 你必须对Rows[intCurrentRowNumber] Cells[0] Value 都做null值判断 或者这么写 string aa = this.dataGridView1.Rows[intCurrentRowNumber]?.Cells[0]?.Value?.ToString(); 不过需要vs2015或者C# 6.0支持
下载代码方式:https://pan.quark.cn/s/c66ecb4d06ce 同源策略:从安全角度出发,浏览器会对脚本发起的跨站求施加限制,要求JavaScript或Cookie仅能获取同源(即协议、域名和端口完全一致)下的资源。正因如此,不同项目间的调用会受到浏览器的阻碍。以常见情境为例:WebApi作为数据服务层,它是一个独立的项目,而MVC项目则承担Web的展示功能,此时MVC项目需要调用WebApi中的接口以获取数据并在页面上呈现。由于WebApi与MVC属于两个独立的项目,运行后便会产生前面提及的跨域问题。WebApi的跨域问题主要源于浏览器的同源策略,这是一种安全措施,旨在限制JavaScript或Cookie仅能访问同一源(包括协议、域名和端口)下的内容。在实际开发过程中,当WebApi作为一个独立服务,例如数据服务层,而MVC项目作为前端展示层时,两者运行在不同的项目和端口下,浏览器将阻止MVC对WebApi的跨域求,从而影响数据的正常获取。为了应对这一问题,我们可以采用CORS(跨域资源共享)机制。CORS通过在HTTP求与响应头中嵌入特定标识,向浏览器明确哪些跨域求是被允许的。例如,服务器可以在响应头中添加`Access-Control-Allow-Origin:http://localhost:8081`,表示允许来自http://localhost:8081的求访问资源。解决WebApi跨域问题的具体实施步骤如下: 1. 构建一个包含MVC项目(Web)与Web API项目(WebApiCORS)的解决方案。 2. 在MVC项目中,例如Home控制器的Index视图,通过Ajax向WebApiCORS发起跨域求。 3...

111,128

社区成员

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

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

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