Унаследовать управление веб-сервером простым способом? - PullRequest
0 голосов
/ 17 июня 2009

У меня есть Repeater, используемый как пейджинговое TagCloud. Для этого я добавил в ViewState страницы простые свойства, такие как Page, RowCount и т. Д ...

Я чувствую, что это не относится к этому, но у меня был плохой опыт с серверными элементами управления, отладкой, dll и развертыванием.

Могу ли я просто наследовать класс Repeater, добавить несколько свойств ControlState / ViewState и иметь возможность использовать его точно так же, как Repeater, перетащенный прямо из ToolBox?

Здесь, имея следующий простой класс:

    public class TagCloud : Repeater
{
    public int selectedIndex;

    public TagCloud()
    {
        selectedIndex = -1;
        //
        // TODO: Add constructor logic here
        //
    }

    public int SelectedIndex
    {
        get { return selectedIndex; }
        set { selectedIndex = value; }
    }
}

Не создавая новый проект WebControlLibrary, может ли этот cs-файл находиться в папке App_Code и работать как ожидалось?

Спасибо.

Ответы [ 3 ]

0 голосов
/ 17 июня 2009

Да, нет проблем с этим. Пока вы используете синтаксис свойства элемента управления:

public int RowCount
{

  get { return (int) (ViewState["RowCount"] ?? 0); }
  set { ViewState["RowCount"] = value; }

}

Кроме того, чтобы ваши свойства выглядели так же, как свойства по умолчанию, вы можете добавить атрибуты Description или DefaultValue.

0 голосов
/ 17 июня 2009

Наследование от ретранслятора ASP является полностью допустимым подходом, поскольку создаваемый вами элемент управления является ретранслятором с дополнительными свойствами.

Если вы чувствуете, что элемент управления, который вам нужен, на самом деле является «чем-то другим», в котором повторитель входит в его набор элементов управления, то вам, вероятно, нужно создать составной элемент управления, который добавит повторитель в его набор элементов управления вместе со всем необходимы другие элементы управления.

Например, вам может потребоваться элемент управления с ретранслятором, меткой результатов поиска, ссылками для перехода к верху и низу содержимого ретранслятора и т. Д. Этот составной элемент управления не является ретранслятором, но имеет используйте ретранслятор.

0 голосов
/ 17 июня 2009

Это работает, и это один из предложенных способов построения серверных элементов управления. Попробуйте и посмотрите.

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