ToScript() private method

private ToScript ( ) : string
return string
Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="userControlPath"></param>
        /// <param name="controlIdToRender"></param>
        /// <param name="mode"></param>
        /// <param name="element"></param>
        /// <param name="index"></param>
        /// <returns></returns>
        public virtual string Build(string userControlPath, string controlIdToRender, RenderMode mode, string element, int?index)
        {
            string      id         = "ID_" + Guid.NewGuid().ToString().Replace("-", "");
            UserControl uc         = UserControlRenderer.LoadControl(userControlPath, id);
            Page        pageHolder = uc.Page;

            XControl controlToRender = null;

            if (controlIdToRender.IsEmpty())
            {
                Container ct = new Container {
                    ID = id, IDMode = IDMode.Explicit
                };
                pageHolder.Controls.Add(ct);
                ct.ContentControls.Add(uc);
                controlToRender = ct;
            }
            else
            {
                pageHolder.Controls.Add(uc);
                XControl c = Ext.Net.Utilities.ControlUtils.FindControl <XControl>(pageHolder, controlIdToRender);
                if (c == null)
                {
                    throw new Exception("Cannot find the control with ID=" + controlIdToRender);
                }

                controlToRender = c;

                if (controlToRender.IDMode == IDMode.Inherit)
                {
                    controlToRender.IDMode = IDMode.Explicit;
                }
            }

            return(index.HasValue ? controlToRender.ToScript(mode, element, index.Value, true) : controlToRender.ToScript(mode, element, true));
        }