我正在为网站(而不是我自己的网站)实施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"));
}
答案 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"));
}
这应该有用。