Can we use Inline Editing on Custom Controls
I would like to set up a user control that supports front end editing. The ideal scenario would allow me to use the custom designer I have already set up for this control. Is there an established way to achieve this? If so, can someone provide me a resource link or some direction to get me started.
Thanks
Hi Drew,
It is possiblem but your control should implement IBrowseAndEditable interface.
Kind regards,
Ivan Dimitrov
the Telerik team
Thanks Ivan,
I think I've implemented the interface correctly, but I'm getting an exception thrown from a telerik class.
The method that's failing isBrowseAndEdit.PropertyEditorBrowseAndEditStrategy.Configure here is the stack trace.
[NullReferenceException: Object reference not set to an instance of an object.] Telerik.Sitefinity.Web.UI.PublicControls.BrowseAndEdit.PropertyEditorBrowseAndEditStrategy.Configure(Object instance, Guid pageId) +592 Telerik.Sitefinity.Modules.Pages.StaticPageData.CreateChildControls(Page page, Boolean isFrontEndPage) +807 Telerik.Sitefinity.Web.PageRouteHandler.ApplyLayoutsAndControls(Page page, RequestContext requestContext) +212 Telerik.Sitefinity.Web.RouteHandler.InitializeContent(Page handler, RequestContext requestContext) +276 Telerik.Sitefinity.Web.RouteHandler.Handler_Load(Object sender, EventArgs e) +215 System.Web.UI.Control.OnLoad(EventArgs e) +91 System.Web.UI.Control.LoadRecursive() +74 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UserControl.ascx.cs" Inherits="SitefinityWebApp.controls.UserControl" %><%@ Register TagPrefix="sf" Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI.PublicControls.BrowseAndEdit" %><sf:BrowseAndEditToolbar ID="browseAndEditToolbar" runat="server" Mode="Edit"></sf:BrowseAndEditToolbar><div class="example"><ul><li><asp:Literal ID="Prop1" runat="server" Text="Property 1"></asp:Literal></li><li><asp:Literal ID="Prop2" runat="server" Text="Property 2"></asp:Literal></li><li><asp:Literal ID="Prop3" runat="server" Text="Property 3"></asp:Literal></li><li><asp:Literal ID="Prop4" runat="server" Text="Property 4"></asp:Literal></li></ul></div>using System;using System.Collections.Generic;using System.ComponentModel;using Telerik.Sitefinity.Web.UI.ControlDesign;using Telerik.Sitefinity.Web.UI.PublicControls.BrowseAndEdit;namespace SitefinityWebApp.controls [ControlDesigner(typeof(UserControlDesigner))] public partial class UserControl : System.Web.UI.UserControl, IBrowseAndEditable public UserControl() this.commands = new List<BrowseAndEditCommand>(); [Category("A Category Name")] public virtual string Property1 get; set; [Category("A Category Name")] public virtual string Property2 get; set; [Category("A Category Name")] public virtual string Property3 get; set; [Category("A Category Name")] public string Property4 get; set; #region IBrowseAndEditable Members // Fields private List<BrowseAndEditCommand> commands = new List<BrowseAndEditCommand>(); // Methods public void AddCommands(IList<BrowseAndEditCommand> cmds) this.commands.AddRange(cmds); BrowseAndEditToolbar IBrowseAndEditable.BrowseAndEditToolbar get return this.browseAndEditToolbar; #endregion protected void Page_Load(object sender, EventArgs e) this.browseAndEditToolbar.Commands.AddRange(this.commands); BrowseAndEditManager current = BrowseAndEditManager.GetCurrent(this.Page); if (current != null) current.Add(this.browseAndEditToolbar); Prop1.Text = string.IsNullOrWhiteSpace(Property1) ? "EMPTY1" : Property1; Prop2.Text = string.IsNullOrWhiteSpace(Property2) ? "EMPTY2" : Property2; Prop3.Text = string.IsNullOrWhiteSpace(Property3) ? "EMPTY3" : Property3; Prop4.Text = string.IsNullOrWhiteSpace(Property4) ? "EMPTY4" : Property4; Hi Drew,
Currently InLine editting can be extended only with custom controls, please convert your control to custom control and instead of page load use initializecontrols.
Greetings,
Pavel
the Telerik team
Pavel,
Is this still the case, where the BrowseAndEdit functionality can only be used with Custom Controls or can it be used with User Controls now?
Many thanks,
Andrei
Hi Andrei,
Yes, it is possible. Please check the blog post here:
http://www.sitefinity.com/blogs/stanislavvelikov/posts.aspx
Best wishes,
Pavel Iliev
the Telerik team