| 发表于: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 ",则可以触发,请问这是什么原因? |
|
|
|
|