惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
爱范儿
爱范儿
V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
B
Blog
云风的 BLOG
云风的 BLOG
G
Google Developers Blog
MongoDB | Blog
MongoDB | Blog
博客园 - Franky
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学
D
DataBreaches.Net
B
Blog RSS Feed
小众软件
小众软件
人人都是产品经理
人人都是产品经理
I
InfoQ
P
Proofpoint News Feed
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
The GitHub Blog
The GitHub Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - 西门潇洒

MSSQL批量写入数据方案 关于SQL连接 加条件查询的LINQ表达式写法 关于LINQ中实现随机查询数据库中记录 .NET新特性--扩展方法 Array中数据强制数据类型转换 the Project type is not supported by installation 项目类型不能正确加载 ASP.NET 2.0中XML数据的处理 小牛生产小牛的问题解决集粹 <转>自毁前程的七种行为 <转>在 ASP.NET 中执行 URL 重写 正则式中的实用命名组替换 去除socket编程当中接收到的多余符\0 - 西门潇洒 - 博客园 将一段符合XML格式规范字符串插入已有XML文档当中 <转>如何C#中实现在TreeView查找某一节点 javascript正则表达式中使用变量关键字 <转>JavaScript 参考教程之对象化编程 <转>JavaScript 参考教程之JavaScript 简介 <转>JavaScript 参考教程之事件处理 <转>JavaScript 参考教程资料之文档对象
ASP.NET三层架构中数据绑定的问题
西门潇洒 · 2008-05-25 · via 博客园 - 西门潇洒

注意在三层架构中gridview绑定objectSource时,如果是实体对象绑定,但在删除方法是没有采用实体对象为参数的删除方法在业务逻辑层就会报错.错误信息为
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

ObjectDataSource“MainData”未能找到接受“gomye.Model.EMZone”类型的参数的非泛型方法“Delete”。


有两种解决方案:
1.在业务逻辑层中添加一个以实体对象为参数的记录删除方法.这样在做在线删除插入和更新就非常好用了,因为我们都知道在绑定实体对象的objectdatasource时,要实现在线更新删除必须指定其objectdatasource中的业务实体类(也就是我们所指的绑定实体类)即设置其DataObjectTypeName属性值为其业务实体对象.(个人也推荐这一种)
2.如果不想更新业务逻辑层方法,而只有采用参数值(例如主键编号)为参数的删除方法,现在我们就不能再设计其objectDatasource的DataObjectTypeName属性了,而采用直接指定其DeleteParameter参数,可以参考
<DeleteParameters>
            <asp:ControlParameter ControlID="ContentShowView" DefaultValue="0" Name="zid" PropertyName="SelectedValue" />
        </DeleteParameters>
这样也同样可以实现,但这种方法的局限性显而易见,我们将不能再实现绑定到此数据源控件的在线更新编辑等功能.
更新也有同样的问题,具体的就要看读者是不是写完整了业务逻辑层的方法,当然插入没有这种问题