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

这个问题可能是由错误selectedItemselectedIndex属性或何时aspxcombobox为空等引起的。

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

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

于 2013-07-14T17:57:21.240 回答
0

您有 2 个选择:

  1. 在后面的代码上,在所选索引上创建一个 switch case,并将数据相应地绑定到组合框。
  2. 在数据级别:在您的数据库访问层中,使用从数据库中获取数据的 Data Provider 类,您必须创建一个将SELECTED INDEX作为参数的GET方法,将该SELECTED INDEX传递给预定义的STORED PROCEDURE并根据选择的索引执行 SELECT。

我建议使用第二种解决方案,原因如下:

  1. 没有对后面的代码进行任何更改。
  2. fetch 根据所选索引在数据库级别完成,从而确保导入的数据正确。--> 你的数据源在这个过程的早期就被绑定了。
  3. 对存储过程进行了小的更改:)

最好的问候, 安杜拉

于 2014-03-17T11:30:14.343 回答