asp:ObjectDataSource有Bug?
在ddn 里用ObjectDataSource,在列表里找不到业务对象,解决方式,手动填入。
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" TypeName="zwx.Modules.Docs.DocsController"
SelectMethod="GetList" DeleteMethod="DeleteVersion" OldValuesParameterFormatString="{0}">
<SelectParameters>
<asp:ControlParameter ControlID="hItemid" Name="docId" PropertyName="Value" Type="Int32" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="ItemID" Type="Int32" />
</DeleteParameters>
</asp:ObjectDataSource>
SelectMethod="GetList" DeleteMethod="DeleteVersion" OldValuesParameterFormatString="{0}">
<SelectParameters>
<asp:ControlParameter ControlID="hItemid" Name="docId" PropertyName="Value" Type="Int32" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="ItemID" Type="Int32" />
</DeleteParameters>
</asp:ObjectDataSource>
这下可以在列表里看到对象了。
下午又发现一个问题,无法删除数据“could not find a non-generic method'Delete' that has parameters ”用google 搜了半天,这类错误跟OldValuesParameterFormatString="{0}"参数有关,看来ObjectDataSource 自动生成的代码有问题。把OldValuesParameterFormatString="original_{0}" 改成上面的形式的就可以了。
我用的VS2005的版本是8.0.5.0727.42RTM ,是不是有更新的版本??