您的位置:程序门 -> .net技术 -> asp.net



gridview与objectdatasource连用时使用自定义对象作为参数的问题?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


gridview与objectdatasource连用时使用自定义对象作为参数的问题?
发表于:2007-06-18 17:07:32 楼主
使用objectdatasource设置如下 <asp:objectdatasource   id= "objectdatasource1 "   runat= "server "   dataobjecttypename= "tag.profitloss.model.s_user "     selectmethod= "select "   updatemethod= "update "   deletemethod= "delete "   typename= "daldemo.userbo "   insertmethod= "insert "   oldvaluesparameterformatstring= "original_{0} "   oninserting= "objectdatasource1_inserting "   >
其中的s_user为自定义对象,其字段为绑定在gridview中的字段,发现有以下问题:
1. 当使用gridview中自动生成的编辑,删除按钮时,发现,updatemethod= "update "   其中的update方法()(void   update(s_user   suser))中suser内的字段能被自动填充,而delete(s_user   suser)   中suser内的字段全是null值,不知道为什么会这样,msdn中说插入,删除,更新等只要设了dataobjecttypename属性,其字段都可以自动填充的。
2. 当我想插入一条数据的时候,只好控制objectdatasource,将自己的业务对象实例化后
protected   void   objectdatasource1_objectcreating(object   sender,   objectdatasourceeventargs   e)
{   e.objectinstance   =   _usrbo;   },然后调用_usrbo中的插入方法。但是我想换一种方式,这样做objectdatasource1.insertparameters.add(new   parameter( "userid ",typecode.string, "5 "));   objectdatasource1.insert();但是出现异常,“objectdatasource“objectdatasource1”没有可以插入的值”又查了一下msdn,说是在这种情况下要处理objectdatasource的inserting事件修改参数,试着做了一下,发现当objectdatasource1.insert()执行时,并没有触发objectdatasource的inserting事件。试着删掉objectdatasource设置中的dataobjecttypename= "tag.profitloss.model.s_user ",则可以触发,请问这是什么原因?
发表于:2007-06-19 09:10:101楼 得分:0
哪位高人,请指教一下,多谢!
发表于:2007-06-29 12:49:162楼 得分:0
怎么就没有人呢?
发表于:2007-07-06 17:36:493楼 得分:0
gridview   不支持   insert,   只能   update   delete

关于   insert   考虑使用   detailsview   以及   formview
发表于:2007-07-13 13:37:574楼 得分:0
我用的是自定义对象插入,插入后再绑定到gridview   中去的,已经实现。
我想知道的是可不可以调用objectdatasource的insert方法,我试了一下,有上面的第2个问题!
发表于:2007-07-24 17:21:135楼 得分:0
同意jinglecat的意见.


快速检索

最新资讯
热门点击