是否可以在aspx上使用不同的数据填充相同的用户控件?

时间:2015-09-02 20:25:24

标签: c# asp.net drop-down-menu webusercontrol aspx-user-control

我在互联网上寻找这个,但我没有得到任何合适的答案。这是我的问题:

我有一个Web用户控件,它有以下三个控件

<asp:RadioButtonList ID="RadioButtonList1" runat="server"     AutoPostBack="true" 
CssClass="radioButton" RepeatDirection="Horizontal" RepeatLayout="Flow" 
onselectedindexchanged="RadioButtonList1_SelectedIndexChanged" >
    <asp:ListItem Value="UET111">Use Existing</asp:ListItem>
    <asp:ListItem Value="CNT111">Create New</asp:ListItem>
</asp:RadioButtonList>

<asp:DropDownList ID="DropDownList1" runat="server" >
</asp:DropDownList>
<asp:TextBox ID="TextBox1" runat="server" C></asp:TextBox>

它背后的代码

 protected void Page_Load(object sender, EventArgs e)
    {
        DropDownList1.Visible = false;
        TextBox1.Visible = false;
    }

    protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (RadioButtonList1.SelectedItem.Value == "UET")
        {
            DropDownList1.Visible = true;
            TextBox1.Visible = false;
        }
        else if (RadioButtonList1.SelectedItem.Value == "CNT")
        {
            DropDownList1.Visible = false;
            TextBox1.Visible = true;
        }
    }

现在我的问题 - 实际上我在同一个aspx页面上使用这个web控件5次。问题是我想从aspx页面填充下拉列表,每个下拉列表将有不同的数据(因为我有5个用户控件)。

有可能吗?请帮助我,让我知道是否有人知道更好的方法。

1 个答案:

答案 0 :(得分:1)

在您的用户控件中创建一个公共函数,该函数允许您发送DataSource以便从下拉列表中填充,以及是否还需要绑定。

public BindDropdownDataSource(DataSet dataSource)
{
    DropDownList1.DataSource = dataSource;
    DropDownList1.DataBind();
}