【发布时间】:2012-06-19 12:40:55
【问题描述】:
当使用 ObjectDataSource 我有以下选择:
<asp:DropDownList runat="server" SelectedValue='<%# Bind("InceptionCycle.ID") %>' ID="InceptionCycle"
DataSourceID="odsAllCycles" DataTextField="CycleName" DataValueField="ID" AppendDataBoundItems="true">
<asp:ListItem Text="Choose..." Value=""></asp:ListItem>
</asp:DropDownList>
和 ObjectDataSource 配置了 UpdateMethod 和 InsertMethod。但是插入/更新方法的参数具有 InceptionCycle 名称(因为 InceptionCycle.ID 不是有效的标识符)。
有没有办法指示 ObjectDataSource 将 InceptionCycle.ID 形式参数放入 InceptionCycle 方法参数中?
这里是完整的 ObjectDataSource 代码:
<asp:ObjectDataSource ID="ods" runat="server" TypeName="Sources.DomainSource"
SelectMethod="FindById" InsertMethod="Add" UpdateMethod="Update"
OnInserted="ods_Inserted" OnUpdated="ods_Updated">
<SelectParameters>
<asp:QueryStringParameter Name="id" QueryStringField="id" />
</SelectParameters>
<InsertParameters>
<asp:Parameter ConvertEmptyStringToNull="true" Name="ShortTitle" />
<asp:Parameter ConvertEmptyStringToNull="true" Name="WMRId" />
<asp:Parameter ConvertEmptyStringToNull="true" Name="MDSId" />
<asp:Parameter ConvertEmptyStringToNull="true" Name="Status" />
</InsertParameters>
<UpdateParameters>
<asp:QueryStringParameter Name="id" QueryStringField="id" />
<asp:Parameter ConvertEmptyStringToNull="true" Name="ShortTitle" />
<asp:Parameter ConvertEmptyStringToNull="true" Name="WMRId" />
<asp:Parameter ConvertEmptyStringToNull="true" Name="MDSId" />
<asp:Parameter ConvertEmptyStringToNull="true" Name="Status" />
</UpdateParameters>
</asp:ObjectDataSource>
【问题讨论】:
-
看来您需要在该 ObjectDataSource 上指定控制参数。请粘贴您的 ObjectDataSource 定义。
-
哦,我的 Add/Update 方法不将对象作为参数,而是简单类型(int/string)
标签: asp.net .net objectdatasource