Problem with RadDock and Editor

4 posts, 0 answers
  1. ririck
    ririck avatar
    5 posts
    Member since:
    Jun 2003

    Posted 02 Oct 2007 Link to this post

    I have a portal site where I dynamically add docks-controls.
    Everything works fine except for the fact that in a rad editor inside the dock will not open any of the media-manager, image-manager, document-manager.
    I imagine the problem could be in some client script not beeing registered.
    Any solution?
  2. Petio Petkov
    Admin
    Petio Petkov avatar
    825 posts

    Posted 03 Oct 2007 Link to this post


    Hello Riccardo ,

    Firefox has an issue with moving an editable iframe over the DOM. Due to this problem, RadEditor doesn't work properly when it is in the RadDock. If the problem is related to Firefox we can send you a workaround.
    Otherwise please send us more information about the problem(Some ASPX code,Browser version, RadEditor version).

    Looking forward to your reply.

    Kind regards,
    Petio Petkov
    the Telerik team

    Instantly find answers to your questions at the new Telerik Support Center
  3. ririck
    ririck avatar
    5 posts
    Member since:
    Jun 2003

    Posted 03 Oct 2007 Link to this post

    This is not a browser problem as I tested in IE7, IE6 and Firefox and all have the same problem.
    IE6 also displays a alert box: "Press OK to continue loading the content of this page".
    RadEditor is the latest Prometheus Editor (Telerik.Web.UI v2.0.50727).
    Default.aspx loads dinamically every ascx with LoadControl and adds to the dock and then to dockzone.
    Note that the editor is insite an ascx.
    All the other controls work fine (I used for example the radrotator, radupload and the radgrid.
    Also the editor works fine except the buttons that opens dialogs (media, document, images).
    Here is some of the code of the main function in default.aspx.
    OnInit
    ----

    RadDock dock = new RadDock();

    dock.ID = "D"+structure.Id.ToString();

    dock.Tag = structure.Id.ToString();

    dock.Title = structure.Title;

    dock.Skin = "Web20";

    string[] forbidden = new string[2];

    forbidden[0]="RadDockZone1";

    forbidden[1]="RadDockZone3";

    //dock.ForbiddenZones = forbidden;

    RadDockLayout1.Controls.Add(dock);

    dock.Commands.Add(new DockCloseCommand());

    dock.Commands.Add(new DockExpandCollapseCommand());

    dock.Command += new DockCommandEventHandler(Dock_Command);

    if(structure.ColId==1)

    {

    RadDockZone1.Docks.Add(dock);

    } else if (structure.ColId==2)

    {

    RadDockZone2.Docks.Add(dock);

    } else if (structure.ColId==3)

    {

    RadDockZone3.Docks.Add(dock);

    }

    EliBaseControl _control = GetControlStandard(structure.Name);

    if (_control != null)

    {

    _control.Evento += new EliBaseControl.EliBaseControlEvent(_control_Evento);

    _control.ModuleName = structure.Name;

    dock.ContentContainer.Controls.Add(_control);

    dock.Collapsed = structure.Minimized;

    HomePresenter.ProcessControlParameters(_control, structure.args);

    if(_control.ContainerName!=null)

    {

    this.lblSubtitle.Text = _control.ContainerName;

    }

    }

  4. Petio Petkov
    Admin
    Petio Petkov avatar
    825 posts

    Posted 05 Oct 2007 Link to this post

    Hi Riccardo,

    I could not run your source, therfore I created an example, which shows how to load the WebUserControl(with Editor) in RadDock . Please take a look at the following code:

    Default.aspx:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Dock_Examples_NewFolder1_Default" %> 
     
    <%@ register tagprefix="rad" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI" %> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     
    <html xmlns="http://www.w3.org/1999/xhtml" > 
    <head runat="server">  
        <title>Untitled Page</title> 
    </head> 
    <body> 
        <form id="form1" runat="server">  
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
        <div> 
          <rad:RadDockLayout ID="RadDockLayout1" runat="server">  
            <rad:RadDockZone ID="RadDockZone1" runat="server">  
              
            </rad:RadDockZone> 
          </rad:RadDockLayout> 
          <asp:Button ID="Button1" runat="server" /> 
        </div> 
        </form> 
    </body> 
    </html> 

    Default.aspx.cs:
    using System;  
    using System.Data;  
    using System.Configuration;  
    using System.Collections;  
    using System.Web;  
    using System.Web.Security;  
    using System.Web.UI;  
    using System.Web.UI.WebControls;  
    using System.Web.UI.WebControls.WebParts;  
    using System.Web.UI.HtmlControls;  
    using Telerik.Web.UI;  
     
    public partial class Dock_Examples_NewFolder1_Default : System.Web.UI.Page  
    {  
        protected override void OnInit(EventArgs e)  
        {  
            base.OnInit(e);  
            RadDock dock = new RadDock();  
            dock.ID = "MyDock";  
            dock.Tag = "MyDock";  
            dock.Title = "MyDock";  
            dock.Skin = "Web20";  
            dock.Commands.Add(new DockCloseCommand());  
            dock.Commands.Add(new DockExpandCollapseCommand());  
            RadDockZone1.Docks.Add(dock);  
            dock.ContentTemplate = new MyTemplate(this.Page);         
              
        }  
       public class MyTemplate : ITemplate  
        {
            #region ITemplate Members          
            protected Control Container;  
            protected Page CurrentPage;  
            public MyTemplate(Page page)  
            {  
                CurrentPage=page;  
            }  
            public void InstantiateIn(Control container)  
            {  
                container.Controls.Add(CurrentPage.LoadControl("WebUserControl.ascx"));  
                this.Container = container;  
            }  
            public void AddControlAt(int position, Control control)  
            {  
                Container.Controls.AddAt(position, control);  
            }
            #endregion  
        }  
    }  
     


    WebUserControl.ascx:
    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="Dock_Examples_NewFolder1_WebUserControl" %> 
    <%@ register tagprefix="rad" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI" %> 
    <rad:RadEditor ID="RadEditor1" runat="server"></rad:RadEditor> 


    I hope this helps.

    Sincerely yours,
    Petio Petkov
    the Telerik team

    Instantly find answers to your questions at the new Telerik Support Center
Back to Top