c# - 在 ASP.NET 中动态填充时间下拉菜单

标签 c# asp.net

我需要用小时和分钟填充 2 个下拉列表。我当前填充下拉列表的方法没有正确设置数字格式,因为我要求前 9 个数字前导 0,即 01、02、03 而不是当前发生的 1、2、3。

C#

protected override void OnInit(EventArgs e)
{
  base.OnInit(e);
  if (!IsPostBack)
     {
        // Populate and Bind Time drop downs
        ddlOh1OpenHours.DataSource = Enumerable.Range(00, 24);
        ddlOh1OpenHours.DataBind();
        ddlOh1OpenMinutes.DataSource = Enumerable.Range(00, 60);
        ddlOh1OpenMinutes.DataBind();
      }
}

ASPX

<asp:DropDownList ID="ddlOh1OpenHours" runat="server" />
<span>:</span>
<asp:DropDownList ID="ddlOh1OpenMinutes" runat="server" />

结果:

<select name="ctl00$MainContent$ddlOh1OpenHours" id="ctl00_MainContent_ddlOh1OpenHours">
    <option selected="selected" value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    <option value="13">13</option>
    <option value="14">14</option>
    <option value="15">15</option>
    <option value="16">16</option>
    <option value="17">17</option>
    <option value="18">18</option>
    <option value="19">19</option>
    <option value="20">20</option>
    <option value="21">21</option>
    <option value="22">22</option>
    <option value="23">23</option>
</select>

最佳答案

只需使用具有正确格式的ToString:

var hours = Enumerable.Range(00, 24).Select(i => i.ToString("D2"));
var minutes  = Enumerable.Range(00, 60).Select(i => i.ToString("D2"));

dlOh1OpenHours.DataSource = hours;
ddlOh1OpenHours.DataBind();
ddlOh1OpenMinutes.DataSource = minutes;
ddlOh1OpenMinutes.DataBind();

> Demo <

Standard Numeric Format Strings

关于c# - 在 ASP.NET 中动态填充时间下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13762668/

相关文章:

c# - CORS 不工作 ASP.Net MVC5

asp.net - MVC SelectList 在文本字段中组合多列

c# - 在asp net core mvc中解析路由段

c# - C#中使用OfType过滤一个类型的对象

c# - 是否可以在 Azure Functions .Net 5 中使用多个输出?

c# - 使脚本包包含另一个脚本包

c# - 如何为客户获取正确的时区

c# - 我想从 C++ 非托管代码调用 C# 委托(delegate)。无参数委托(delegate)工作正常,但带参数的委托(delegate)使我的程序崩溃

c# - 刷新后在标签中显示文本

Asp.net Web api 2 Facebook 登录