2009-11-17 91 views
0

下面的代碼是的WinForms:asp.net列表框VS的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

不,在ASP.NET中不可能。

作爲替代方案,您可以將水果物品存放在字典<串,水果>收集,你可以得到您所選擇的水果那樣:

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

我不認爲你可以做到這一點準確這樣的,因爲我在的WinForms很生疏,但這裏的如何我想嘗試它在asp.net

1)在Page_PreRender您綁定列表框()

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

2)我不知道什麼是相當於「點擊」事件會是這樣,但你可以掛接到SelectedIndexChanged事件像這樣(按另一個按鈕觸發):

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

+0

好,我已經做到了。我只是在尋找更好的技術。即與對象一起工作。 – anonymous 2009-11-17 12:41:16

+0

與此同時,Canavar的技術非常好。它解決了很多問題。 – anonymous 2009-11-17 12:42:06