C # Enhanced Listbox - запоминает дополнительные атрибуты после обратной передачи - PullRequest
1 голос
/ 04 марта 2011

Я нахожусь в ситуации, когда мне нужно окно списка, чтобы помнить после постбэка атрибуты, которые я добавил к ряду элементов списка в нем.Я нашел это решение в Интернете, которое, похоже, решает проблему, но я не уверен, как его реализовать.

Решение со списком

Он говорит, что написал класс, который наследуется отСписок, что нормально, я сделал это и назвал его EnhancedListBox, но как мне затем применить его к списку, который я использую на странице?

Я не могу просто заменить

<asp:ListBox >

с

<asp:EnhancedListBox>

но как еще мне сообщить странице, что я хочу использовать свой унаследованный код?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 04 марта 2011

SaveViewState и LoadViewState - это виртуальные методы, которые вы можете переопределить.То, что вы хотите попробовать, - это создать «свой собственный» ListBox:

class EnhancedListBox : ListBox
{
    protected override object SaveViewState() 
    {
        // code here from the tutorial
    }
    protected override void LoadViewState(object savedState)
    {
        // code here from the tutorial
    }
}

Это также называется «Создание пользовательского элемента управления» , это очень распространено, иэто дает вам большую гибкость.

0 голосов
/ 04 марта 2011

вам нужно создать пользовательский элемент управления для этого, проверьте http://msdn.microsoft.com/en-us/library/ms366537.aspx для запуска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...