下拉列表未添加项目

本文关键字:项目 添加 下拉列表 | 更新日期: 2023-09-27 18:21:47

我正在为一个网站(而不是我自己的网站)实现DropDownList,但我无法获得DropDownList来填充任何项目。有点令人沮丧,但这就是程序员的生活,对吧?这就是到目前为止我对DropDownList的代码所做的。我对C#有所了解,但aspx和它们之间的桥梁对我来说是新的,所以我可能会错过一些显而易见的东西。有人能引导我朝正确的方向走吗?

aspx文件的下拉生成

<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"));
}

下拉列表未添加项目

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

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"));
    }
}

您不必在.cs文件中初始化dropdownlist。

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

 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"));
    }

这应该行得通。

  var categories = new List<ListItem>
                {
                    new ListItem("hello", "0"),
                    new ListItem("hello", "1")
                };
dpdCategory.DataTextField = "Text";
dpdCategory.DataValueField = "Value";
dpdCategory.DataSource = categories ;
dpdCategory.DataBind();