2011-08-15 6 views
2

J'ai regardé la documentation de Sitecore pour HtmlControls et WebControls, mais aucun des éléments n'a de description significative ou d'exemple de code pour montrer comment ils sont utilisés ou ce qu'ils produisent.Où trouver des exemples de webcontrôle Sitecore?

Je comprends comment utiliser des commandes simples comme le texte, la date, l'image, et Lien:

<sc:Text runat="server" ID="content" Field="Content" /> 

Y at-il une ressource qui inclut des exemples pour contrôles plus avancés comme WebControls.ItemList ou HtmlControls.TreePicker pour montrer comment ils seraient utilisés et quelle sortie ils produisent?

Répondre

2

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":

  1. Part 1
  2. Part 2
  3. 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.

+0

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

+1

J'ai mis à jour ma réponse. TLDR: utilisez .NET Reflector pour décompiler la DLL du noyau. –

Questions connexes