<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
TypeName="Cftea.Test.Class1"
InsertMethod="Insert"></asp:ObjectDataSource>
<asp:DetailsView ID="DetailsView1" runat="server"
DataSourceID="ObjectDataSource1"
DefaultMode="Insert">
以上代码中,通过 DetailsView 展现输入框,客户端点击提交后,通过 ObjectDataSource1 的 InsertMethod 对应的方法,执行数据保存。
可是在打开页面时出现:
除非指定 SelectMethod,否则 ObjectDataSource“ObjectDataSource1”不支持 Select 操作。
为什么我在插入时也要求有“Select”呢?我又不是显示详细信息。
原来,DetailsView 默认的 AutoGenerateRows 为 true,它要自动产生行,就必须去读,然后他才知道如何产生。所以上述代码应该为:
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
TypeName="Cftea.Test.Class1"
InsertMethod="Insert"></asp:ObjectDataSource>
<asp:DetailsView ID="DetailsView1" runat="server"
DataSourceID="ObjectDataSource1"
AutoGenerateRows="false" DefaultMode="Insert">
相关阅读