所以我的formview有大约30个字段。是否有可能将所有这些参数作为对象发送到我的更新方法,而不是将它们中的每一个作为参数单独发送?
谢谢 -
答案 0 :(得分:0)
我认为您可以使用ObjectDataSource。定义ObjectDataSource时,指定要使用的函数(例如UpdateMethod属性)以及应传递给该函数的对象类型(例如DataObjectTypeName属性)。
然后,当您的表单被提交时,它将自动调用您指定的UpdateMethod,并向其传递填充了FormView中的值的对象。为此,您必须将FormView控件绑定到对象属性。
以下是一些代码示例......
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
SelectMethod="GetItem"
InsertMethod="InsertItem"
UpdateMethod="UpdateItem"
TypeName="ClassName_OfMyObjectContainingMethodsSpecifiedAbove"
DataObjectTypeName="ClassName_OfMyDataObject" >
<asp:FormView ID="FormView1" runat="server"
DataSourceID="ObjectDataSource1" DataKeyNames="PropertyName_OfMyKeyField">
<EditItemTemplate>
<asp:TextBox ID="TextBox_Description" runat="server"
MaxLength="50" Columns="30"
Text='<%# Bind("Description") %>' />
</EditItemTemplate>
</asp:FormView>