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