【问题标题】:Integer Drop Down List for ASP.NET WebformsASP.NET Webforms 的整数下拉列表
【发布时间】:2014-07-14 11:51:34
【问题描述】:

我有一个带有模型类的 Web 表单项目:

public class PayrollPeriod
    {
        [ScaffoldColumn(false)]
        [Key]
        public int PayrollPeriodId { get; set; }

        [ScaffoldColumn(false)]
        [Required]
        public string UserId { get; set; }
        public virtual ApplicationUser User { get; set; }

        [Range(1, 24, ErrorMessage = "Value for {0} must be between {1} and {2}.")]
        [Required, Display(Name = "Working Hours In A Day")]
        public int HrsInDay { get; set; }

        //...
     }

脚手架生成以下Insert.aspx:

 <asp:FormView runat="server"
            ItemType="PayMaster.Models.PayrollPeriod" DefaultMode="Insert"
            InsertItemPosition="FirstItem" InsertMethod="InsertItem"
            OnItemCommand="ItemCommand" RenderOuterTable="false">
            <InsertItemTemplate>
                <fieldset class="form-horizontal">
                    <legend>Insert Payroll Period</legend>
                    <asp:ValidationSummary runat="server" CssClass="alert alert-danger" />
                    <asp:DynamicControl Mode="Insert" DataField="StartDate" runat="server" />
                    <asp:DynamicControl Mode="Insert" DataField="EndDate" runat="server" />
                    <asp:DynamicControl Mode="Insert" DataField="HrsInDay" runat="server" />
                    <asp:DynamicControl Mode="Insert" DataField="DaysInWeek" runat="server" />

我对 ASP Web 窗体不是很熟悉。如何编辑 HrsInDay 的动态控件以显示带有整数 1 - 24 的下拉列表?

【问题讨论】:

    标签: c# asp.net webforms visual-studio-2013


    【解决方案1】:

    我必须通过将其添加到后面的代码来解决它:

     public Dictionary<int, int> GetHrsInDay()
            {
                Dictionary<int, int> hrsInDay = new Dictionary<int, int>();
    
                for (int i = 1; i < 25; i++)
                {
                    hrsInDay.Add(i, i);
                }
                return hrsInDay;
            }
    

    然后在 aspx 页面上,将下拉列表中的 SelectedValue 绑定到项目 HrsInDay

     <asp:ValidationSummary runat="server" CssClass="alert alert-danger" />
                        <asp:DynamicControl Mode="Insert" DataField="StartDate" runat="server" />
                        <asp:DynamicControl Mode="Insert" DataField="EndDate" runat="server" />
                        <div class="form-group">
                            <asp:Label runat="server" CssClass="col-sm-3 control-label">Working Hours In A Day</asp:Label>
                            <div class="col-sm-4">
                                <asp:DropDownList ID="ddlHrsInDay" runat="server" CssClass="form-control"
                                    AutoPostBack="True" 
                                    AppendDataBoundItems="true"
                                    SelectMethod="GetHrsInDay"
                                    DataTextField="Value" DataValueField="Key"
                                    SelectedValue="<%# BindItem.HrsInDay%>"
                                    OnSelectedIndexChanged="ddls_SelectedIndexChanged">
                                    <asp:ListItem Value="0" Text="Select"></asp:ListItem>
                                </asp:DropDownList>
                            </div>
                        </div>
    

    【讨论】:

      猜你喜欢
      • 2020-02-16
      • 1970-01-01
      • 2011-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      • 1970-01-01
      相关资源
      最近更新 更多