我有一个FormView绑定(bind)到ObjectDataSource。
* ObjectDataSource定义(为简单起见,省略了一部分)*
<asp:ObjectDataSource
ID="odsHousehold"
runat="server"
TypeName="BLL.Households"
ConflictDetection="OverwriteChanges"
UpdateMethod="UpdateHousehold"
>
<UpdateParameters>
<asp:Parameter Name="sName" Type="String" Direction="Input" />
<asp:Parameter Name="sAddress" Type="String" Direction="Input" DefaultValue="" />
<asp:Parameter Name="sCity" Type="String" Direction="Input" DefaultValue="" />
<asp:Parameter Name="sState" Type="String" Direction="Input" DefaultValue="" />
<asp:Parameter Name="sZip" Type="String" Direction="Input" DefaultValue="" />
</UpdateParameters>
</asp:ObjectDataSource>
* FormView定义(为简单起见,省略了一部分)*
<asp:FormView
ID="fvHousehold"
runat="server"
DataKeyNames="HouseholdID"
DataSourceID="odsHousehold"
HorizontalAlign = "Left"
>
<EditItemTemplate>
<asp:TextBox ID="txtHouseHoldName" runat="server" MaxLength="50" Width="100%" Text='<%# Bind("HouseholdName") %>'></asp:TextBox>
<asp:TextBox ID="txtAddress" runat="server" MaxLength="50" Width="100%" Text='<%# Bind("Address") %>'></asp:TextBox>
<asp:TextBox ID="txtCity" runat="server" MaxLength="50" Width="100%" Text='<%# Bind("City") %>'></asp:TextBox>
<asp:TextBox ID="txtState" runat="server" MaxLength="50" Width="100%" Text='<%# Bind("State") %>'></asp:TextBox>
<asp:TextBox ID="txtZip" runat="server" MaxLength="50" Width="100%" Text='<%# Bind("Zip") %>'></asp:TextBox>
<asp:Button ID="btnUpdateHousehold" runat="server" Text="Update" CommandName="Update" />
</EditItemTemplate>
</asp:FormView>
我想知道:单击“更新”按钮时,FormView如何知道用哪个EditTemplate文本框填充哪个UpdateParameter?例如,我没有在FormView中指示“txtAddress”填充UpdateParameter“sAddress”,但是InputParameters [“sAddress”]包含txtAddress的Text值。它怎么知道要这样做?
上师能启发我吗?
非常感谢,
卡伦
最佳答案
“单击“更新”按钮时,FormView如何知道用哪个EditTemplate文本框填充哪个UpdateParameter?
我相信简单的答案是:它知道,因为您在TextBox控件中放入了Bind语句。例如。 txtAddress具有“Bind(“Address”)”,因此,在调用更新时,它在txtAddress和参数“Address”之间具有连接
关于c# - FormView EditTemplate如何在后台更新ObjectDataSource UpdateParameters中的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/764570/