蹩脚的EntityDataSource和FormView控件(解决插入数据时报空引用异常的BUG)

image

这两天做网站,某页中使用了EntityDataSource结合FormView插入数据,先是自动生成了这么个基本的表单:

image

 

然后运行,插入测试数据:

(咋变这色了??

 image

 

结果回回报错!

 

image

 

始终找不出错误位置,弄得我直想挠墙。

后来想到可能是Entity Framework中定义的所属省、所属市县两个属性属于对象引用,而FormView貌似是Asp.net 2.0的产物,可能不支持这么高科技的玩意,想来可能得老老实实用SqlDataSource了~

不过还是不甘心,继续Google搜啊搜,突然找到MSDN这篇《如何:将 Web 控件绑定到 EntityDataSource》,答案就在这里,只不过解决方法比较龌龊,真是从未见到过这么龌龊的官方指导方案~~

  • “源”视图中打开 Default.aspx 文件。

  • 查找并移除所有 Address.AddressIDAddress1.AddressIDContact.ID 实例周围的方括号 [ ]。将在 ItemTemplateInsertItemTemplate 中的所有 EvalBind 函数匹配项中找到这些类型。

唉,龌龊就龌龊吧,照着来吧,在InsertItemTemplate里找到那些带括号的属性,把括号去掉就行了:

image

image

嗯~真是恶心,不知道微软怎么想的。

倒是真管用,立马能更新了。希望不要再有人被这个困扰到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值