2つのSQLデータソースがあります。次のようなことが起こります。ページの読み込み時に、最初のSQLデータソースは 'desknames'のリストを取得し、ドロップダウンに値を設定します。最初のdesknameにデフォルトするはずですが、pageloadのインデックスで最初の項目を安全にするために、いくつかのC#コードを追加しました。次に、選択した 'deskname'を制御パラメータとして使用して、2番目のsqlデータソースをロードする必要があります。 2番目のsqlデータソースから、データソースのコードの背後にあるラベルにhtmlテーブルを作成します。私は、手動で制御パラメータを入力すると、2番目のdatasource-htmlテーブルをテストしました。正常に動作します。SQLデータソースのコントロールパラメータをプルダウンから取得しようとしていますが、認識されません。
私が考えているのは、何とかドロップダウンのdesknameが2番目のSQLデータソースにパラメータとして渡される時間に選択されていないということですが、それを修正する方法はわかりません。私は、コードに表示される順番で遊んでみましたが、違いはありませんでした。私はここでのC#
でasp.netのWebフォームを使用していますちなみに私のコードです:私は=「洗濯&タバコ」DEFAULTVALUEを持って
<asp:HiddenField ID="hiddenUserID" runat="server" Value="" />
<asp:SqlDataSource ID="Desknames" runat="server"
ConnectionString="<%$ ConnectionStrings:spvConnectionString %>"
SelectCommand="exec pmtv2.spTOOL_Deskdropdown @username">
<SelectParameters>
<asp:ControlParameter ControlID="hiddenUserID" Name="username" PropertyName="value" />
</SelectParameters>
</asp:SqlDataSource>
<div id="topdiv" style="float:left; padding-left:2.5%; width:30%; border-bottom:0px; height:20%;">
<h2>
<asp:DropDownList ID="ChooseDesk" runat="server" DataSourceID="Desknames"
DataTextField="Deskname" DataValueField="Deskname" AutoPostBack="true" class="dropdown" OnDataBound="ChooseDesk_databound">
</asp:DropDownList>
</h2>
<asp:SqlDataSource ID="DeskSummary" runat="server"
ConnectionString="<%$ ConnectionStrings:spvConnectionString %>"
SelectCommand="exec pmtv2.spTOOL_LandingPageDesk @username, @Deskname">
<SelectParameters>
<asp:ControlParameter ControlID="hiddenUserID" Name="username" PropertyName="value" />
<asp:ControlParameter ControlID="ChooseDesk" Name="Deskname" PropertyName="SelectedValue" DefaultValue="Laundry & Tobacco"/>
</SelectParameters>
</asp:SqlDataSource>
通知は、これは、第二を可能にするだけで一時修正ですsqlのデータソースを作成するが、通常はこのようなデフォルト値でハードコードすることはできません。
これは難しいかもしれませんが、なぜこれがうまくいかないのかについてのご意見は非常に高く評価されます。
ありがとうございます!あなたのパラメータがすでにあなたのストアドプロシージャで定義されている場合は、exec
を使用してそれらを再度宣言する必要はありません
ご連絡ありがとうございます。 pmtv2は実際にはストアドプロシージャのスキーマ名です。私はあなたが提案した変更を試みたが、私はまだ同じエラーを取得しています - オブジェクトのインスタンスに設定されていないオブジェクト参照(私はSQLデータベースが正しいパラメータを与えられていないので、有効なオブジェクト) – TBK