使用数组填充一个列表框? [英] Use an array to populate a listbox?

查看:110
本文介绍了使用数组填充一个列表框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

该网站我的工作将包含一个下拉列表,其中显示了一些原因codeS的。

是否有可能来用一个自定义的类派生的数组一个下拉列表?

事情是这样的:

aspx页面

 < ASP:DropDownList的ID =ddlReasonsWhy=服务器>< / ASP:DropDownList的>

ASPX code背后

 保护无效的Page_Load(对象发件人,EventArgs的发送)
{
    //实例化自定义类
    1级reasonsList =新1级();
   //填充上榜理由
   this.ddlReasonsWhy.Items.Add(reasonsList.getReasons);

自定义类

 公共字符串[] getReasons()
    {
        字符串[]的原因;
        原因[0] =测试;
        原因[1] =test2的;
        原因[2] =TEST3;        返回的原因;
    }

UPDATE1:

感谢的答案,这个堆栈<一个href=\"http://stackoverflow.com/questions/132643/adding-listitems-to-a-dropdownlist-from-a-generic-list\">link我的最终解决方案是类似艾哈迈德和柔滑的答案。

 公开名单&LT;&列表项GT; getRejectReasons()
    {
        清单&LT;&列表项GT;原因=新的List&LT;&列表项GT;();
        reasons.Add(新的ListItem(选择价值,0));
        reasons.Add(新的ListItem(红,1));
        reasons.Add(新的ListItem(绿,2));
        返回的原因;    }

code背后

  //实例化自定义类
 1级拒绝=新1级();
 this.ddlReasonsWhy.DataSource = reject.getRejectReasons();
 this.ddlReasonsWhy.DataBind();


解决方案

使用列表项代替的字符串的AddRange 作为的添加

编辑:getReasons是不是一个变量,因此使用getReasons()

ASPXPAGE

 &LT; ASP:DropDownList的ID =ddlReasonsWhy=服务器&GT;&LT; / ASP:DropDownList的&GT;

ASPX code背后

 保护无效的Page_Load(对象发件人,EventArgs的发送)
{
    //实例化自定义类
    1级reasonsList =新1级();
   //填充上榜理由
   this.ddlReasonsWhy.Items.AddRange(reasonsList.getReasons());
}

自定义类

 公共列表项[] getReasons()
    {
        列表项[]的原因;
        原因[0] =测试;
        原因[1] =test2的;
        原因[2] =TEST3;        返回的原因;
    }

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 a custom class?

Something like this:

ASPX Page

<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.Add(reasonsList.getReasons);

Custom Class

public string[] getReasons()
    {
        string[] Reasons;
        Reasons[0] = "test";
        Reasons[1] = "test2";
        Reasons[2] = "test3";

        return Reasons;
    }

UPDATE1:

Thanks to the answers and this stack link my final solution is similar to Ahmet and silky answers.

Class

 public List<ListItem> getRejectReasons()
    {
        List<ListItem> reasons = new List<ListItem>();
        reasons.Add(new ListItem("Select Value", "0"));
        reasons.Add(new ListItem("Red", "1"));
        reasons.Add(new ListItem("Green", "2"));
        return reasons;

    }

Code Behind

 //instantiate custom class
 Class1 reject = new Class1();
 this.ddlReasonsWhy.DataSource = reject.getRejectReasons();
 this.ddlReasonsWhy.DataBind();

解决方案

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;
    }

这篇关于使用数组填充一个列表框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆