C# 不添加项目的下拉列表

C# 不添加项目的下拉列表,c#,asp.net,C#,Asp.net,我正在为一个网站(不是我自己的网站)实施一个DropDownList,我无法获得DropDownList来填充任何项目。有点令人沮丧,但这就是程序员的生活,对吗?这是迄今为止关于DropDownList的代码。我对C#很了解,但是aspx和它们之间的桥梁对我来说是新的,所以我可能错过了一些显而易见的东西。有人能把我引向正确的方向吗 aspx文件的下拉列表生成 <asp:DropDownList runat="server" ID="dpdCategory" Width="200px"/&g

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

aspx文件的下拉列表生成

<asp:DropDownList runat="server" ID="dpdCategory" Width="200px"/>
生成项目的函数

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"));
    }
}
var categories=新列表
{
新列表项(“你好”,“0”),
新列表项(“你好”,“1”)
};
dpdCategory.DataTextField=“Text”;
dpdCategory.DataValueField=“Value”;
dpdCategory.DataSource=类别;
dpdCategory.DataBind();

您不必在.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"));
    }

这应该可以工作。

在页面加载事件中,尝试控制页面ispostback事件。。。。再试一次…你能发布.aspx和.aspx.cs文件的完整内容吗?对它进行了一次尝试,结果没有什么不同。我本以为它可以工作,但遗憾的是没有任何更改。你的代码看起来不错。如果在页面加载中设置断点,是否能够停止代码?您也查看过*.aspx.designer.cs文件吗?遗憾的是,它什么也没做。我从未见过一个下拉列表如此不情愿地去删除
受保护的DropDownList dpdCategory并重新生成解决方案
  var categories = new List<ListItem>
                {
                    new ListItem("hello", "0"),
                    new ListItem("hello", "1")
                };

dpdCategory.DataTextField = "Text";
dpdCategory.DataValueField = "Value";
dpdCategory.DataSource = categories ;
dpdCategory.DataBind();
 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"));
    }