2016-03-07 153 views
0

我在asp.net中有一個列表框 當用戶點擊它的運行時項目時可以改變這個項目的文本而不改變項目的順序。 所以我儘量讓編輯按鈕,當點擊它獲得該項目價值 作爲編輯運行時asp.net中的列表框選擇的文本

protected void btnEditListValue_Click(object sender, EventArgs e) 
     { 
      string listvalue = lstParameters.Items.IndexOf(lstParameters.SelectedItem).ToString(); 
      string listText = lstParameters.SelectedItem.ToString(); 
     } 

然後我會從字符串listText文本框填充值,以使用戶能夠編輯

我當作什麼後做保持列表框順序爲老不刪除和插入再次

請幫助

+0

爲什麼您將所選項目的索引轉換爲字符串?你想用'listvalue'做什麼? –

+0

@TimSchmelter也有問題,listText總是獲取第一個項目的值,而listvalue只是爲了測試我沒有使用它 –

+0

也許你是在每個回發數據綁定ListBox而不是隻有'if(!isPostBack){DataBindYourListBox ();}'。然後,所有更改或事件都將丟失。 –

回答

1

可以覆蓋ListItem.Text,FE當用戶更改文字時:

protected void TextBox1_TextChanged(object sender, EventArgs e) 
{ 
    if(lstParameters.SelectedIndex >= 0 && !String.IsNullOrWhiteSpace(TextBox1.Text)) 
    { 
     ListItem selectedItem = lstParameters.Items[lstParameters.SelectedIndex]; 
     selectedItem.Text = TextBox1.Text; 
    } 
} 
相關問題