C#DropDownList默认值

时间:2014-06-10 16:15:01

标签: c# asp.net drop-down-menu

我正在使用ascx.cs后端页面,在选择带参数的报表时尝试使用四个不同的过滤器“下拉列表”。目前我的文件管理器和下拉列表正在运行,参数正在传递并返回正确的报告。

但是,下拉列表的值是根据数据库表中的最新值生成的,即月份和年份。

(例如,年 - 2014年) (例如,月 - 三月)

我在数据库中的表只会在当前发生的每个月添加(今天= 2014-06-10) 因此到目前为止,我有2014年的前几个月。

所以对我的问题。我试图将最新的值显示为默认值。例如,2014年的“年度”下拉列表和“月份”下降量将是上个月。

我还必须注意,我的四个下拉过滤器中的每一个都有一个autopostback Onselectedchange

例子(年)

dropdown_year.Items.Clear();
        dropdown_year.Items.Add(new ListItem("Select a year...", "0"));

这是在后端

在前端的东西看起来像这样

<div class="field">
                        <div class="field-left">
                            <label for="dropdown_year" runat="server">Year</label>
                        </div>
                        <div class="field-right">
                            <asp:DropDownList runat="server" ID="dropdown_year" OnSelectedIndexChanged="dropdown_year_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>
                            <span id="dropdown_year_error" class="error-message" runat="server"></span>
                        </div>
                    </div>

任何人都可以建议我如何能够获得最新的价值吗?

1 个答案:

答案 0 :(得分:0)

将所有项目添加到设置选定索引后面的代码中的特定列表中,将其作为最后一个:

dropdown_year.SelectedIndex = dropdown_year.Items.Count - 1;

这取决于从数据库获取项目时如何对项目进行排序。您可以按降序对它们进行排序,然后只选择第一个。如果他们按升序排序,请按照上面的例子进行。