私はasp.netを初めて使用し、フォームビュー内でドロップダウンリストコントロールを使用して、その値を関連する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" />