C#相关Telerik组合框问题在第#页加载

C#相关Telerik组合框问题在第#页加载,c#,telerik,selectedvalue,radcombobox,combobox,C#,Telerik,Selectedvalue,Radcombobox,Combobox,我是C#noobie,我继承了一个大的C#项目,我必须做一些小的修改 首先让我通过代码: protected void Page_Load(object sender, EventArgs e) { // Loading rcb1 this.dsX.SelectParameters["parameter1"].DefaultValue = XXX.XXX.ToString(); this.dsX.SelectParameters["parameter2"].Default

我是C#noobie,我继承了一个大的C#项目,我必须做一些小的修改

首先让我通过代码:

protected void Page_Load(object sender, EventArgs e)
{
    // Loading rcb1
    this.dsX.SelectParameters["parameter1"].DefaultValue = XXX.XXX.ToString();
    this.dsX.SelectParameters["parameter2"].DefaultValue = this.XXX.ToString();

    if ( !IsPostBack )
    {
        Control c = sender as Control;
        RadComboBox rcb1 = c.Parent.FindControl("rcb1") as RadComboBox;

        // Loading rcb2
        this.dsY.SelectParameters["parameter1"].DefaultValue = XXX.XXX.ToString();
        this.dsY.SelectParameters["parameter1"].DefaultValue = this.XXX.ToString();

        // Value of first option from rcb1
        this.dsY.SelectParameters["rcb1_value"].DefaultValue = rcb1.SelectedValue.ToString();
    }
}




protected void rcb1_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e)
{
    if (e.Value != "")
    {
        Control c = o as Control;
        RadComboBox rcb1 = c.Parent.FindControl("rcb1") as RadComboBox;
        RadComboBox rcb2 = c.Parent.FindControl("rcb2") as RadComboBox;

        this.dsUsers.SelectParameters["parameter1"].DefaultValue = XXX.XXX.ToString();            
        this.dsUsers.SelectParameters["parameter2"].DefaultValue = this.XXX.ToString();
        this.dsUsers.SelectParameters["parameter3"].DefaultValue = e.Value.ToString();
    }
}


<tr>
    <td align="left" height="22px">
        LABEL
    </td>
    <td align="left" height="22px">
        <telerik:RadComboBox ID="rcb1" runat="server" DataSourceID="dsX" DataTextField="PONotificationName"
            DataValueField="ID" Skin="Vista" meta:resourcekey="xxResource1"
            OnSelectedIndexChanged="rcb1_SelectedIndexChanged" AutoPostBack="true">
        </telerik:RadComboBox>
        <asp:SqlDataSource ID="dsX" runat="server" ConnectionString="<%$ connectionStrings:XXX %>"
            SelectCommand="XXX" SelectCommandType="StoredProcedure">
            <SelectParameters>
                <asp:Parameter Name="parameter1" Type="Int32" />
                <asp:Parameter Name="parameter2" Type="Int32" />
            </SelectParameters>
        </asp:SqlDataSource>
    </td>
</tr>
<tr>
    <td align="left" height="22px">
        LABEL 2
    </td>
    <td align="left" height="22px">
        <telerik:RadComboBox ID="rcb2" runat="server" DataSourceID="dsY" DataTextField="Name"
            DataValueField="ID" Skin="Vista" meta:resourcekey="xxResource2">
        </telerik:RadComboBox>
        <asp:SqlDataSource ID="dsY" runat="server" ConnectionString="<%$ connectionStrings:XXX %>"
            SelectCommand="XXX2" SelectCommandType="StoredProcedure">
            <SelectParameters>
                <asp:Parameter Name="parameter1" Type="Int32" />
                <asp:Parameter Name="parameter2" Type="Int32" />
                <asp:Parameter Name="parameter3" Type="Int32" />
            </SelectParameters>
        </asp:SqlDataSource>
    </td>
</tr>
受保护的无效页面加载(对象发送方,事件参数e)
{
//加载rcb1
this.dsX.SelectParameters[“parameter1”]。DefaultValue=XXX.XXX.ToString();
this.dsX.SelectParameters[“parameter2”].DefaultValue=this.XXX.ToString();
如果(!IsPostBack)
{
控件c=发送方作为控件;
RadComboBox rcb1=c.Parent.FindControl(“rcb1”)作为RadComboBox;
//加载rcb2
this.dsY.SelectParameters[“parameter1”]。DefaultValue=XXX.XXX.ToString();
this.dsY.SelectParameters[“parameter1”].DefaultValue=this.XXX.ToString();
//rcb1中第一个选项的值
this.dsY.SelectParameters[“rcb1_value”].DefaultValue=rcb1.SelectedValue.ToString();
}
}
受保护的无效rcb1\u SelectedIndexChanged(对象o,RadComboxSelectedIndexChangedEventArgs e)
{
如果(例如,值!=“”)
{
对照组c=o为对照组;
RadComboBox rcb1=c.Parent.FindControl(“rcb1”)作为RadComboBox;
RadComboBox rcb2=c.Parent.FindControl(“rcb2”)作为RadComboBox;
this.dsUsers.SelectParameters[“parameter1”]。DefaultValue=XXX.XXX.ToString();
this.dsUsers.SelectParameters[“parameter2”]。DefaultValue=this.XXX.ToString();
this.dsUsers.SelectParameters[“parameter3”]。DefaultValue=e.Value.ToString();
}
}
标签
标签2
我的问题是那些组合框。 代码工作正常,但问题是在用户执行任何操作之前,第二个组合框(rcb2)保持空白

我必须使用存储过程从第一个组合框(rcb1)加载第二个组合框(rcb2)的数据

我已经试过了。选择值。项[index]。值和其他值返回null

也许问题是第一个组合框没有所选项目的定义

谁能帮我解决这个问题


我可以在顶部的rcb1中添加新的空白项。但我也有问题

解决了我的空消息问题。。。天哪,我花了一整天

<telerik:RadComboBox ID="rcb1" runat="server" DataSourceID="dsX" DataTextField="PONotificationName"
            DataValueField="ID" Skin="Vista" meta:resourcekey="xxResource1"
            OnSelectedIndexChanged="rcb1_SelectedIndexChanged" AutoPostBack="true" emptymessage="Select Value...">
</telerik:RadComboBox>