0
我有一个类编辑ListView中没有编辑模式上
public class MyClass
{
public int id {get; set;}
public string name {get; set;}
}
我存储在列表MyClass类型的对象:
List<MyClass> listOfObjects {get; set;}
我想用户编辑数据。要显示数据,我正在使用ListView控件 - 我绑定listOfObject列表ListView:
<asp:ListView runat="server" ID="ListView1">
<LayoutTemplate>
<table runat="server" id="table1" >
<tr runat="server" id="itemPlaceholder" >
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr id="tr" runat="server">
<td id="td1" runat="server">
<asp:TextBox ID="tb1" runat="server" Text='<%#Eval("id") %>' />
</td>
<td id="td2" runat="server">
<asp:TextBox ID="tb2" runat="server" Text='<%#Eval("name")%>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
到目前为止好,一切工作正常。我在ListView中看到数据。 我不知道如何在ListView中编辑数据而无需输入EditMode - 我没有Edit按钮,我只有文本框才能输入新数据。 我只想将相反方向的文本框中编辑的数据绑定到listOfObject列表中。我已经尝试了许多解决方案 并没有什么正确的工作...
我以为我可以读取的数据是这样的:
var listItems = ListView1.Items.Cast<ListViewDataItem>().Select(a => new MyClass
{
id = ((TextBox)a.FindControl("tb1")).Text,
name = ((TextBox)a.FindControl("tb2")).Text
}).ToList<>();
但这个我得到它是在文本编辑之前的数据...
请帮助我,因为我不知道如何使它工作 (也许这将是更好地使用ObjectDataSource控件?)
是的,我在执行该按钮的Click事件的代码的最后一部分 – pit 2010-08-20 13:20:37
再次阅读我的回答,我加了一些信息 – Jeroen 2010-08-20 13:27:09