2011-08-15 53 views
2

我一直在查看HtmlControlsWebControls的Sitecore文檔,但沒有任何項目有任何有意義的描述或示例代碼來顯示它們如何使用或生成什麼。哪裏可以找到Sitecore webcontrol示例?

我知道如何使用簡單的控制,如文本,日期,圖像和鏈接:

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

是否有包括更先進的控制WebControls.ItemListHtmlControls.TreePicker的例子來說明如何將資源他們會被使用,他們產生了什麼輸出?

回答

2

SDN有一些代碼示例。實際上,WebControls是.NET服務器控件,您可以通過C#編寫所有業務邏輯和前端代碼。下面是對SDN稱爲 「Web控件」 系列:

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

} 

編輯:要了解如何內部建設t-in Sitecore組件工作:

Sitecore不會提供如何構建其控件的詳細信息。 Sitecore不是開源的。話雖如此,Sitecore的人多次告訴我,如果您需要了解某些工作如何擴展它,請使用.NET Reflector來解編內核(Sitecore.Kernel.dll)。我花了很多時間來弄清楚內部事物是如何工作的。在你的情況下,你可以反編譯程序集,並看看Sitecore.Web.UI.WebControls等下的類。

+0

我沒有製造我自己的控件的問題。我有一個問題,發現* Sitecore的*內置控件實際上**做**。我想我應該更加明確,我想要更多參與控制的例子。 – zzzzBov

+1

我已經更新了我的回覆。 TLDR:使用.NET Reflector去編譯內核DLL。 –

相關問題