【问题标题】:selectedindexchanged event in radcomboboxradcombobox 中的 selectedindexchanged 事件
【发布时间】:2013-02-10 08:54:48
【问题描述】:

我有一个 radcombobox:

<telerik:RadComboBox ID="SelectInitiative" runat="server" AutoPostBack="true" 
                    DataSourceID="SqlInitiative" DataTextField="Initiative_Name" 
                    DataValueField="ID"  EmptyMessage="Select Initiative" Height="200px" 
                      OnSelectedIndexChanged="SelectInitiative_SelectedIndexChanged" Width="300px">
                </telerik:RadComboBox></td>
            <td>
                <asp:Label ID="Label1" runat="server" Text=""></asp:Label>

            </td>`


<asp:SqlDataSource ID="SqlInitiative" runat="server" 
        ConnectionString="<%$ ConnectionStrings:ProjectPlanningConnectionString %>" 
        SelectCommand="SELECT * FROM [Initiative]"></asp:SqlDataSource>

事件代码如下:

 protected void SelectInitiative_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
    {
        if (SelectInitiative.SelectedValue.ToString() != "")
        {
            Session["InitiativeID"] = SelectInitiative.SelectedValue.ToString();
        }
        Label1.Text = "You selected " + e.Value + " item";

    }

问题是它既没有获取“selectedvalue”的值,也没有获取“e.Value”的值,两个值都是空的......请帮助...... ..

【问题讨论】:

  • 您确定您的数据源正确完成了您的“RadCombobox”吗?你有没有调试检查过它的内容?
  • 是的,数据源很好。radcombobox 正在向我显示所有值

标签: combobox selectedindex rad-controls radcombobox


【解决方案1】:

你可以试试这个吗?

protected void SelectInitiative_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
    if(!IsPostBack)
    {
        if (SelectInitiative.SelectedValue.ToString() != "")
        {
            Session["InitiativeID"] = SelectInitiative.SelectedValue.ToString();
        }
        //Or change this line 
        //Label1.Text = "You selected " + e.Value + " item";
        //To this sample
        Label1.Text = "You selected " + SelectInitiative.SelectedValue + " item";

    }

}

或从 RadComboBoxSelectedIndexChangedEventArgs 属性中查看/检查此变量的内容:

-Text : 是刚刚选择的项目的文本。

-Value : 是刚刚选择的项目的值。

-OldText : 是先前选择的项目的文本

-OldValue : 是之前选择的项目的值

或者试试这个:

Label1.Text = "You selected " + SelectInitiative.SelectedValue + " item";

【讨论】:

  • 它正在获取 e.Text 的值,但返回 e.Value 的空白值
  • 如果你试试这个:Label1.Text = "你选择了" + SelectInitiative.SelectedValue + " item";而不是使用 e.Value 并查看它是否有效,我已经改变了我的答案
  • 我的申请中已经遇到了和你一样的问题。见这里:telerik.com/community/forums/aspnet-ajax/combobox/…
  • 现在,它是一个呼救plzzzz
  • 哇,这真的很奇怪..您的页面中的代码可能还有另一个问题。
【解决方案2】:

我有一个类似的问题,对我来说,来源是我在每个 AutoPostBack 上设置数据源。确保在事件触发之前您没有重新初始化组合框中的项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    • 2018-09-15
    • 1970-01-01
    相关资源
    最近更新 更多