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

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

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

转载此文章时须注明转载自”SkyD(斯克迪亚)开发者博客“,并保留此文章的Url链接

作者信息

昵称
斯克迪亚

查看其所发布的所有文章

总积分
2420
注册时间
(2018年5月4日 19:06)

评论

目前还没有任何评论。

[切换到移动版页面]