下拉列表不添加项目

时间:2015-11-12 10:02:00

标签: c# asp.net

我正在为网站(而不是我自己的网站)实施DropDownList,我无法让DropDownList填充任何项目。有点令人沮丧,但那是编码器的生命吗?这就是我迄今为止关于DropDownList的代码。我对C#有所了解,但aspx和它们之间的桥梁对我来说是新的,所以我可能会错过一些明显的东西。有人能引导我朝着正确的方向前进吗?

aspx文件的DropDown Generation

<asp:DropDownList runat="server" ID="dpdCategory" Width="200px"/>

在.cs文件中初始化ID

protected DropDownList dpdCategory;

生成项目的功能

protected void Page_Load(object sender, EventArgs e)
{
    this.dpdCategory.Items.Clear();
    this.dpdCategory.Items.Add(new ListItem("hello", "0"));
    this.dpdCategory.Items.Add(new ListItem("hello", "1"));
}

3 个答案:

答案 0 :(得分:1)

您可能需要在页面未回发时放置它。像这样:

protected void Page_Load(object sender, EventArgs e)
{
    if(!Page.IsPostBack)
    {
        this.dpdCategory.Items.Clear();
        this.dpdCategory.Items.Add(new ListItem("hello", "0"));
        this.dpdCategory.Items.Add(new ListItem("hello", "1"));
    }
}

答案 1 :(得分:0)

  var categories = new List<ListItem>
                {
                    new ListItem("hello", "0"),
                    new ListItem("hello", "1")
                };

dpdCategory.DataTextField = "Text";
dpdCategory.DataValueField = "Value";
dpdCategory.DataSource = categories ;
dpdCategory.DataBind();

答案 2 :(得分:0)

您不必在.cs文件中初始化下拉列表。

然后像这样更改页面加载:

 protected void Page_Load(object sender, EventArgs e)
    {
        dpdCategory.Items.Clear();
        dpdCategory.Items.Add(new ListItem("hello", "0"));
        dpdCategory.Items.Add(new ListItem("hello", "1"));
    }

这应该有用。