2010-09-16 33 views
0

我有GridView綁定到一些列表。在佈局我創建下面的模板領域:使用TemplateField綁定GridView到泛型集合

<asp:TemplateField HeaderText="Phrase"> 
    <ItemTemplate> 
     <asp:TextBox ID="phraseTextBox" runat="server" Text='<%# Bind("Phrase") %>'/> 
    </ItemTemplate> 
</asp:TemplateField> 

但改變任何文本框的列「短語」的內容後,我的名單並不反映變化。

我做錯了什麼?:)

回答

0

ItemTemplate將僅用於顯示/查看目的。您需要使用EditItemTemplate來指定在編輯行時UI的使用方式。不僅如此,你還必須添加按鈕/鏈接到行來將其推入編輯模式。

閱讀this來自MSDN的文章,解釋瞭如何使用網格視圖編輯數據。檢查示例「編輯界面中添加驗證控件」一節以使用EditItemTemplate。

+0

是的,但我需要的行編輯沒有明確將其切換。我們可以隱式地切換模式,例如用戶使我的文本框變得專注了嗎? – DixonD 2010-09-16 09:38:31

+0

@DixonD,不幸的是GridView並不適合這種功能。它允許一次編輯一行,因此它需要行級別的事件才能進入編輯模式,然後將保存/取消按鈕退出到退出模式。 – VinayC 2010-09-16 09:56:06

+0

也許你可以給一些建議,如果GridView不足以做出這樣的功能呢? – DixonD 2010-09-16 11:10:40

-1

在這一行

<asp:TextBox ID="phraseTextBox" runat="server" Text='<%# Bind("Phrase") %>'/> 

我會用eval,並且不使用綁定

<asp:TextBox ID="phraseTextBox" runat="server" Text='<%# Eval("Phrase") %>'/> 

問候

+0

我認爲應該清楚我需要完全雙向綁定。 – DixonD 2010-09-17 08:45:32