Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net列表框与winforms列表框_Asp.net_Listbox - Fatal编程技术网

asp.net列表框与winforms列表框

asp.net列表框与winforms列表框,asp.net,listbox,Asp.net,Listbox,以下代码适用于winforms: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { listBox1.DataSource = Fruit.Get(

以下代码适用于winforms:

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            listBox1.DataSource = Fruit.Get();
            listBox1.DisplayMember = "Name";
            listBox1.ValueMember = "ID";
        }

        private void listBox1_Click(object sender, EventArgs e)
        {
            object li = listBox1.SelectedItem;

            Fruit fr = (Fruit) li;

            label1.Text = fr.Name;
        }
    }
是否可以在asp.net中使用相同的技术


如果没有,那么还有什么选择?

没有,在ASP.NET中不可能

另一种选择是,您可以将您的水果项目存储在字典集合中,您可以像这样获得您选择的水果:

// Assume that your datasource is Dictionary<string, Fruit> myFruits
Fruit fr = myFruits[listBox1.SelectedValue];
//假设您的数据源是Dictionary myFruits
水果fr=我的水果[listBox1.SelectedValue];

我不认为你能完全做到这一点,因为我对winforms很生疏,但下面是我在asp.net中尝试的方法

1.)在页面_PreRender()中绑定列表框


listBox1.DataSource=Fruit.Get()
listBox1.DataTextField=“Name”
listBox1.DataValueField=“ID”
listBox1.DataBind();

2.)我不确定等效的“OnClick”事件是什么,但您可以像这样挂接到SelectedIndexChanged事件(由另一个按钮触发):


var li=listBox1.SelectedItem
label1.Text=li.Text;

嗯,我已经这么做了。我只是在寻找更好的技术。同时,卡纳瓦尔的技术非常好。它解决了很多问题。