我是 asp.net 的新手,我在使用 formview 中的下拉列表控件并将其值传递给相关的 sqldatasource 时遇到问题。当我使用下面的代码时,我得到以下异常
异常详细信息:System.InvalidOperationException:在 ControlParameter 'categoryId' 中找不到控件 'ddlCategory'。
表单视图中的下拉列表。
<asp:DropDownList ID="ddlCategory" DataSourceID="ObjectDataSourceCategory" DataTextField="NAME" DataValueField="ID" runat="server" />
SQL 数据源
<asp:ObjectDataSource ID="sqlDataSourceItem" TypeName="Item" runat="server"
SelectMethod="getItem"
InsertMethod="insertItem"
UpdateMethod="updateItem">
<SelectParameters>
<asp:QueryStringParameter QueryStringField="id" Name="id" />
</SelectParameters>
<InsertParameters>
<asp:ControlParameter ControlID="ddlCategory" Name="categoryId" PropertyName="selectedValue" />
</InsertParameters>
</asp:ObjectDataSource>
我已经找到了解决这个问题的方法。我在控制参数中更改了 DDL 的 ID。它的工作方式如下所示,因为这是该控件的最终生成 id。但我认为必须有一个更简单更好的方法。任何帮助都将不胜感激。
<asp:ControlParameter ControlID="ctl00$main$frmViewItem$ddlCategory" Name="categoryId" PropertyName="selectedValue" />