日期:2014-05-20  浏览次数:20443 次

使用ObjectDataSource问题,就50分了,散完!
我在做一个三层的东西时,用了ObjectDataSource,其中DataObjectTypeName设置成model实体,更新操作就是调用BLL.Update(model   model),而删除操作是调用BLL.Delete(int   id),可是我在进行删除操作时,会引发“未能找到接受xx类型的参数的非泛型方法”的错误。
本人所用所有相关参数都是表的字段名,因此网上说的类似这样http://ggo.net.cn/bbs/TopicOther.asp?t=5&BoardID=2&id=158的的答案对我来说改了也没意义。

在CSDN盼各位帮忙解答!

------解决方案--------------------
mark
------解决方案--------------------
可以不要设置DataObjectTypeName属性
控件DataKeyNames设置好,Delete方法就可以用了
至于Update是传入一个对象,可以在ObjectDataSource的Updating的事件里面用代码给这个参数赋值,如:
protected void objStudent_Updating(object sender, ObjectDataSourceSelectingEventArgs e)
{
Modal m = new Modal();
m.属性= 值;
...
// 设置ObjectDataSource的更新参数
e.InputParameters[0] = m;
}
------解决方案--------------------
也可以啊,但是不推荐
对了,记得把OldValuesParameterFormatString去掉
------解决方案--------------------
像Delete(int id),这种传值类型的当然不会去传Model类引用类型啊,这样只会增加资源
------解决方案--------------------
MARK~
------解决方案--------------------
学习