asp.net listbox vs winforms listbox

时间:2009-11-17 12:17:34

标签: asp.net listbox

以下代码适用于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中使用相同的技术?

如果不是,那么替代方案是什么?

2 个答案:

答案 0 :(得分:2)

不,这在ASP.NET中是不可能的。

作为替代方案,您可以将水果项目存储在Dictionary< string,Fruit>收集,你可以得到你选择的水果:

// Assume that your datasource is Dictionary<string, Fruit> myFruits
Fruit fr = myFruits[listBox1.SelectedValue];

答案 1 :(得分:0)

我认为你不能这样做完全因为我在winforms中相当生气,但这是我在asp.net中尝试的方式

1。)将您的列表框绑定在Page_PreRender()

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

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

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