Le SDN a quelques exemples de code. Essentiellement, les WebControls sont des contrôles de serveur .NET dans lesquels vous écrivez toute la logique métier et le code frontal via C#. Voici la série sur les SDN appelés "contrôles Web":
- Part 1
- Part 2
- Part 3
Voici un exemple 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();
}
EDIT: Pour comprendre comment le bâtiment interne T-dans les composants Sitecore travail:
Sitecore ne va pas fournir les détails de la façon dont leurs contrôles sont construits. Sitecore n'est pas open source. Cela étant dit, des gens de Sitecore m'ont dit à plusieurs reprises que si vous avez besoin de comprendre comment quelque chose fonctionne pour l'étendre, utilisez le .NET Reflector pour décompiler le noyau (Sitecore.Kernel.dll
). Je l'ai fait plusieurs fois pour comprendre comment fonctionnent les choses internes. Dans votre cas, vous pouvez décompiler l'assemblage et regarder les classes sous Sitecore.Web.UI.WebControls
etc.
Je n'ai aucun problème à créer mes propres commandes. J'ai un problème pour savoir ce que * les commandes intégrées de * Sitecore ** font **. Je suppose que j'aurais dû être plus explicite, je veux des exemples de contrôles plus impliqués. – zzzzBov
J'ai mis à jour ma réponse. TLDR: utilisez .NET Reflector pour décompiler la DLL du noyau. –