<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="HelloWorld.ascx.cs" Inherits="SitefinityWebApp.Widgets.HelloWorld" %>
<p>Hello <asp:Literal ID="NameLiteral" runat="server" /></p>using System;using Telerik.Sitefinity.Web.UI.ControlDesign;
namespace SitefinityWebApp.Widgets{ [ControlDesigner(typeof(HelloWorldDesigner))] public partial class HelloWorld : System.Web.UI.UserControl { // This public property will become editable in Sitefinity public string Name { get; set; }
protected void Page_Load(object sender, EventArgs e) { if (String.IsNullOrEmpty(Name)) { NameLiteral.Text = "World!"; } else { NameLiteral.Text = Name; } } }}<div> <span>Your name:</span><br /> <input type="text" id="txtName" /></div>using System.Collections.Generic;using Telerik.Sitefinity.Web.UI.ControlDesign;using System.Web.UI;
namespace SitefinityWebApp.Widgets{ public class HelloWorldDesigner : ControlDesignerBase { protected override void InitializeControls(Telerik.Sitefinity.Web.UI.GenericContainer container) { base.DesignerMode = ControlDesignerModes.Simple; }
public override string LayoutTemplatePath { get { return _layoutTemplatePath; } set { _layoutTemplatePath = value; } }
protected override string LayoutTemplateName { get { return string.Empty; } }
public override IEnumerable<ScriptReference> GetScriptReferences() { // get script collection var scripts = base.GetScriptReferences() as List<ScriptReference>; if (scripts == null) return base.GetScriptReferences();
scripts.Add(new ScriptReference(_scriptReference));
return scripts.ToArray(); }
private string _layoutTemplatePath = "~/Widgets/HelloWorldDesigner.ascx"; private string _scriptReference = "~/Widgets/HelloWorldDesigner.js"; }}Type.registerNamespace("SitefinityWebApp.Widgets.HelloWorld");
SitefinityWebApp.Widgets.HelloWorldDesigner = function (element) { SitefinityWebApp.Widgets.HelloWorldDesigner.initializeBase(this, [element]);}
SitefinityWebApp.Widgets.HelloWorldDesigner.prototype = { initialize: function () { SitefinityWebApp.Widgets.HelloWorldDesigner.callBaseMethod(this, 'initialize'); }, dispose: function () { SitefinityWebApp.Widgets.HelloWorldDesigner.callBaseMethod(this, 'dispose'); }, refreshUI: function () { var controlData = this._propertyEditor.get_control();
// bind widget properites to designer jQuery("#txtName").val(controlData.Name);
}, applyChanges: function () {
var controlData = this._propertyEditor.get_control();
// bind designer properties back to widget controlData.Name = jQuery("#txtName").val();
}}
SitefinityWebApp.Widgets.HelloWorldDesigner.registerClass('SitefinityWebApp.Widgets.HelloWorldDesigner', Telerik.Sitefinity.Web.UI.ControlDesign.ControlDesignerBase);if (typeof (Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();



