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