0

ドロップダウン リストとデータセット (ストアド プロシージャに基づく) がセッション ベースのパラメーターを使用して ASP ページに作成されている場合。
セッション変数が proc で結果を返す値に設定されていて、databind()が呼び出されたときに、リストにデータが入力されるべきではありませんか?
それとも他に何かすることがありますか?
私は次のようなことを試みてdataset.select()いましたが、それがどのように起こるのか疑問に思っていました.
それはすべてページロードにあります。おそらく明らかな何かを見逃した場合は、コードを参照してください。

注: コード ビハインドではなく ASPx ページでデータ ソースを作成する理由は、多くのデータ ソースを作成することになるためです。

ASPは

 <asp:DropDownList ID="ddClinic" runat="server"OnSelectedIndexChanged=" 
      ddClinic_SelectedIndexChanged" AppendDataBoundItems="True" DataSourceID="dsClinics" 
      DataTextField="ClinicName" DataValueField="ClinicID" AutoPostBack="True">
      <asp:ListItem Value="0">Select One</asp:ListItem>
 </asp:DropDownList>

 <asp:SqlDataSource ID="dsClinics" runat="server" ConnectionString="
      <$ConnectionStrings:coPC3PaymentConnectionString %>" SelectCommand="GetClinicsForUser" 
      SelectCommandType="StoredProcedure">
        <SelectParameters>
            <asp:SessionParameter DbType="Int32" Name="userID" SessionField="Userid" 
              Type="Int32" />
            <asp:ControlParameter ControlID="LbMsg.Text" DbType="String" Direction="Output" 
                  Name="ErrorMsg" PropertyName="Text" Type="String" />
        </SelectParameters>
    </asp:SqlDataSource>

では、Codebehind C# では、これでいっぱいになるべきではありませんか? (パラメータがSPでデータを返すと仮定しますか?

      Session["User"] = PC3User;

                Session["MultiClinics"] = 1;

                ddClinic.DataBind();

繰り返しますが、ばかげた質問で申し訳ありませんが、私が見つけたすべての例は、コードビハインドで作成されたデータソースを使用しています。それは必要ですか?

4

1 に答える 1

0

このボードから質問を削除できるとは思いませんが、私の問題は単純であり、データバインドに関連していないことがわかったので、これが他の人の助けになるとは思いません-私は単にセッション変数を間違って参照していました名前

Session["User"] vs  <asp:SessionParameter DbType="Int32" Name="user**ID**" 

時間を無駄にしてしまったことをお詫びします。もっと気をつけます。これは私に数回起こりました。ビルドでキャッチされないため、すべての文字列値をチェックします。

于 2013-03-14T18:46:46.503 に答える