SDN имеет несколько примеров кода.По сути, WebControls - это серверные элементы управления .NET, где вы пишете всю бизнес-логику и интерфейсный код через C #.Вот серия на SDN , называемая «Веб-элементы управления»:
- Часть 1
- Часть 2
- Часть 3
Вот пример TextControl:
protected override void DoRender(HtmlTextWriter output) {
if (ClassAttribute.Length > 0) {
output.AddAttribute(HtmlTextWriterAttribute.Class, ClassAttribute);
}
if (StyleAttribute.Length > 0) {
output.AddAttribute(HtmlTextWriterAttribute.Style, StyleAttribute);
}
output.RenderBeginTag(HtmlTextWriterTag.Div);
string val = string.Empty;
if(_text.Length == 0) {
val = GetFieldValue(_textField);
} else {
val = _text;
}
output.AddAttribute(HtmlTextWriterAttribute.Class, TextClass);
output.AddAttribute(HtmlTextWriterAttribute.Style, TextStyle);
output.RenderBeginTag(HtmlTextWriterTag.Div);
output.Write(val);
output.RenderEndTag();
output.RenderEndTag();
}
РЕДАКТИРОВАТЬ: Чтобы понять, как внутренние встроенные компоненты Sitecoreработа:
Sitecore не собирается предоставлять подробную информацию о том, как создаются их элементы управления.Sitecore не является открытым исходным кодом.Тем не менее, несколько человек из Sitecore говорили мне, что если вам нужно понять, как что-то работает для его расширения, используйте .NET Reflector для декомпиляции ядра (Sitecore.Kernel.dll
),Я делал это много раз, чтобы понять, как работают внутренние вещи.В вашем случае вы можете декомпилировать сборку и посмотреть на классы в Sitecore.Web.UI.WebControls
и т. Д.