Пользовательский серверный контроль в 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, а затем добавляете нужную разметку и дочерние элементы управления. Пользовательский элемент управления может включать в себя код для управления его содержимым, как это может делать страница, включая выполнение таких задач, как привязка данных.