Пользовательский серверный контроль в ASP.NET и C# -

У меня есть файлы aspx и aspx.cs с некоторыми компонентами. Теперь я хочу повторно использовать части этой страницы на другой странице. Мой подход заключается в том, чтобы вытащить дублирующуюся часть в WebServerControl.

Итак, прежде чем тратить больше времени на yahoogling, это даже правильная идея, и если так, есть ли способ использовать части файла aspx, а не делать это утомительно в RenderContents с HtmlTextWriter, WriteBeginTag, WriteAttribute и так далее. Это выглядит как беспорядок для сложной компоновки и значительного количества элементов управления.

Какой стандарт?

3 ответа

Решение

Зависит.

Основным движущим фактором является то, что если вам нужно повторно использовать свой контроль в нескольких веб-приложениях, вы должны пойти с Custom Control (.cs в C#).

Иначе, если вы намерены использовать свой элемент управления только в одном веб-приложении, выберите User Control (.Ascx).

Эта статья MSDN является хорошей отправной точкой.

ОБНОВЛЕНИЕ (так как ОП спросил более подробную информацию):

Чтобы встроить JavaScript для пользовательского элемента управления, общий подход

var initializeScript = string.Format("MyNamespace.initialize('{0}', {1});", ClientID, myScriptString);
Attributes.Add("onmouseover", initializeScript);

Предложите писать код JavaScript в js-файле, а не в.cs, поскольку последнее - это кошмар для обслуживания и отладки. Надеюсь это поможет.

Похоже, что вы хотите сделать, это объединить элементы в пользовательский элемент управления. Это позволит вам спроектировать элемент управления, используя существующие элементы управления.NET, а не выводить все с нуля.

Все, что вам нужно, это создать ASP.NET Web User Control

Взято из MSDN:

Пользовательский элемент управления ASP.NET Web аналогичен полной веб-странице ASP.NET (файл.aspx), содержащей как страницу пользовательского интерфейса, так и код. Вы создаете пользовательский элемент управления практически так же, как вы создаете страницу ASP.NET, а затем добавляете нужную разметку и дочерние элементы управления. Пользовательский элемент управления может включать в себя код для управления его содержимым, как это может делать страница, включая выполнение таких задач, как привязка данных.

Другие вопросы по тегам