Use an array to populate a listbox?

前端 未结 4 1480
旧巷少年郎
旧巷少年郎 2021-01-16 11:00

The website I am working on will contain a drop-down list that shows a number of reason codes.

Is it possible to populate a drop-down list with an array derived from

相关标签:
4条回答
  • 2021-01-16 11:19

    -- Edit:

    I've noticed you specifically wanted to bind to an array. I don't believe that is possible (may be wrong); I leave my example below of how to do it for a custom class, perhaps it is of use, perhaps not. Hopefully someone else answers you more directly.

    -- Old:

    Certainly it is, like so:

    ddlList.DataSource     = yourDataSource;
    ddlList.DataTextField  = "DisplayProperty";
    ddlList.DataValueField = "PropertyForValue";
    ddlList.DataBind();
    

    But note, in your example you've not posted the class, you've posted a method. In the example about 'yourDataSource' should be something like:

    List<YourObjects> yourDataSource = new List<YourObjects>();
    
    0 讨论(0)
  • 2021-01-16 11:20

    (untested)

    this.ddlReasonsWhy.DataSource = reasonsList.getReasons;
    this.ddlReasonsWhy.DataBind();
    
    0 讨论(0)
  • 2021-01-16 11:22

    Just a thought, but how about:

    this.ddlReasonsWhy.Items.Add(reasonsList.getReasons().Select(r => new ListItem(r)));
    
    0 讨论(0)
  • 2021-01-16 11:44

    Use ListItem instead of string and Addrange for Add

    edit: getReasons is not a variable so use getReasons()

    ASPXPAGE

    <asp:DropDownList ID="ddlReasonsWhy" runat="server"></asp:DropDownList>
    

    ASPX Code Behind

    protected void Page_Load(object sender, EventArgs e)
    {
        //instantiate custom class
        Class1 reasonsList = new Class1();
       //populate reasons list
       this.ddlReasonsWhy.Items.AddRange(reasonsList.getReasons());
    }
    

    Custom Class

    public ListItem[] getReasons()
        {
            ListItem[] Reasons;
            Reasons[0] = "test";
            Reasons[1] = "test2";
            Reasons[2] = "test3";
    
            return Reasons;
        }
    
    0 讨论(0)
提交回复
热议问题