2011-09-01 17 views
1

我有一箇中繼器的頁面..我必須使這個可編輯的一些領域。我不明白我可以如何將轉發器標籤轉換爲文本框。我可以使用jQuery來做到這一點嗎?如何使中繼器字段可編輯?

有人做過這種操作嗎?

謝謝..

回答

1

Repeater控件沒有像許多其他數據控件一樣的EditTemplate。

我建議讓編輯欄位在隱藏的佔位符中,然後在點擊編輯按鈕時顯示。這將涉及頁面回發,然後您必須顯示/隱藏ItemCommand處理程序中的相關部分。

另一種方法是在Panel控件中添加編輯字段/文本框,然後通過display: none;隱藏它。然後你可以用一些javascript將它改成display: block;。這將避免頁面回發。

0

這取決於你想如何做到這一點:

  1. 使用非標準的控制可能是你需要的GridView。

  2. 可以定義爲中繼模板,並把文本框在那裏,然後 回發,你將需要找到動態創建的控件和 你也將需要照顧,以保持ID的這些控件的 相同的回發。

  3. 而另一件事 - 你可以使用 jQuery替換標籤文本框,然後通過Ajax請求更新值。

你決定你需要什麼:)無論如何,它是在互聯網上的很多樣品。

1

這可以在Repeater中完成,但DataList控件更直接,而且使用起來也很簡單。有一個MSDN文章在Datalist控件中使用完整的源代碼:http://msdn.microsoft.com/en-us/library/bf5211wb(v=vs.71).aspx

將中繼器轉換爲DataList比在Repeater中編輯項目要容易得多。

無論其

直接回答你的問題,有一個樣品CodeProject上這裏:http://www.codeproject.com/KB/aspnet/EditableRepeater.aspx

,顯示如何使用全功能的編輯一箇中繼器(包括添加和刪除的項目)。

要查看CodePlex文章中的相關代碼,請搜索文本「EditIndex」。相關的代碼隱藏總是在這個關鍵字的上方和/或下方几行。

+0

好像很多代碼都沒有。更容易和更清潔只是創建一個編輯頁面並鏈接到中繼器。 –

+0

我同意。我認爲這就是爲什麼我和@Samich建議使用Repeater的替代控制,而不是我們的第一個建議。 – David