2016-03-07 74 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; 
    } 
} 
相关问题