0

私はaspxcomboboxDevexpress)asp.netを持っています:

<dx:ASPxComboBox ID="ASPxComboBox1" runat="server" DataSourceID="SqlDataSource1">
            <Columns>
                <dx:ListBoxColumn FieldName="cg_id" />
                <dx:ListBoxColumn FieldName="cg_name" />
            </Columns>
            </dx:ASPxComboBox>
 <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
  <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:TravelConnectionString %>" SelectCommand="SELECT * FROM [Categorys_Group]"></asp:SqlDataSource>

コードビハインド:

protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Redirect("Accounting/Check.aspx?id=" + ASPxComboBox1.SelectedItem.GetValue("cg_name"));
        }

ボタンをクリックすると。の選択された値のインデックスを取得したいaspxcomboboxコンボボックスの値を取得しようとしましたが、最初に値を返すだけです( = 0 )。

誰が私を助けることができます?の値を取得しますaspxcombobox

4

2 に答える 2

0

selectedItemこの問題は、間違った、またはselectedIndexプロパティ、またはaspxcomboboxが空の場合などによって引き起こされる可能性があります。

MessageBox.show(ASPxComboBox1.Value != null? ASPxComboBox1.Value.ToString():string.Empty);

このエラーをスキップするには、ValueTypeプロパティを正しく理解する必要があります。また、それを見る..

于 2013-07-14T17:57:21.240 に答える
0

次の 2 つの選択肢があります。

  1. コード ビハインドで、選択したインデックスにスイッチ ケースを作成し、それに応じてデータをコンボボックスにバインドします。
  2. データ レベル: データベース アクセス レイヤーで、データベースからデータを取得するデータ プロバイダー クラスを使用して、 SELECTED INDEXをパラメーターとして受け取るGETメソッドを作成し、そのSELECTED INDEXを事前定義されたSTOREDに渡す必要があります。 PROCEDUREを実行し、選択したインデックスに従って SELECT を実行します。

次の理由から、2 番目のソリューションを使用することをお勧めします。

  1. コードビハインド側に変更はありません。
  2. フェッチは、選択したインデックスに従ってデータベース レベルで行われ、正しいデータがインポートされることが保証されます。--> データ ソースはプロセスの早い段階でバインドされています。
  3. STORED PROCEDUREに小さな変更が加えられています:)

よろしく、 アンドウラ

于 2014-03-17T11:30:14.343 に答える