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

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

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

posted on 2009-06-04 04:18  斯克迪亚  阅读(2181)  评论(5编辑  收藏  举报