如何在代码中获得aspxcombobox的价值

时间:2013-07-14 15:39:37

标签: asp.net

我有aspxcombobox Devexpress ) 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的价值。

2 个答案:

答案 0 :(得分:0)

此问题可能是由于selectedItemselectedIndex属性错误或aspxcombobox为空等原因引起的。

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

要跳过此错误,您应该正确了解ValueType属性。 还看到它..

答案 1 :(得分:0)

您有两个选择:

  1. 在后面的代码上,在所选索引上创建一个switch case,并相应地将数据binded到comboBox。
  2. 在数据级别:在您的数据库访问层中,使用从数据库中提取数据的数据提供程序类,您必须创建一个 GET 方法,该方法采用 SELECTED INDEX < / strong>作为参数,将 SELECTED INDEX 传递给预定义的 STORED PROCEDURE ,并根据选择的索引执行SELECT。
  3. 我建议使用第二种解决方案,原因如下:

    1. 对背后的代码没有任何更改。
    2. 根据所选索引在数据库级别上执行提取,这可确保导入正确的数据。 - &GT;您的数据源在此过程的早期就已绑定。
    3. 对STORED PROCEDURE进行了小的修改:)
    4. 最诚挚的问候, ANDOURA