我应该在哪里为 DropDownList 放置新的 ListItem

Where should I put new ListItem for DropDownList

我有一个包含 1 个主要 DropDownList 和 2 个其他的页面。使其选择打印报告的设置。
问题是 - 我在这些 DropDownList 中使用 DataSource,但它们没有空值。我应该在哪里将新的空值添加到 DropDownList 中才能正确工作?
这是我的代码(在评论中是我需要添加的东西)

protected void ddlMain_Load(object sender, EventArgs e)
{
    switch (ddlMain.SelectedValue)
    {
        case "1":
            dFirst.Visible = true;
            dSecond.Visible = false;
            break;
        case "2":
            dFirst.Visible = false;
            dSecond.Visible = true;
            break;
}

<div>
<asp:DropDownList ID="ddlMain" runat="server" AutoPostBack="true" OnLoad="ddlMain_Load">
    <asp:ListItem Text="1" Value="1"></asp:ListItem>
    <asp:ListItem Text="2 " Value="2"></asp:ListItem>
</asp:DropDownList>              
</div>

<div runat="server" id="dFirst" visible="false">
    <asp:DropDownList ID="ddlFirst" runat="server" DataSourceID="sdsFirst"
        DataTextField="name" DataValueField="id" OnLoad="ddlFirst_Load">
    </asp:DropDownList>
    <asp:SqlDataSource ID="sdsFirst" runat="server" 
        ConnectionString="<%$ ConnectionStrings:conStr %>">
    </asp:SqlDataSource>
</div>
//ddlFirst.Items.Add(new ListItem("--Select--", "-1"));

我尝试了 OnLoad 次要元素,OnLoad 主要 DropDownListPage_Load。它们不适合我,因为新 ListItem 不会在页面首次加载时出现或在页面刷新时添加超过 1 次。

在页面加载中使用 Insert 方法。

ddlAcademicYear.Items.Insert(0, new ListItem("-- Select --", "-1"));

0是你要插入的位置。

optionlabel 添加到您的下拉列表并指定文本“--Select--”。您的下拉列表现在应该具有所需的默认值。