/// <summary>
        /// Tải một control Param (có thể cho dashboard hoặc cũng có thể cho portlet)
        /// </summary>
        /// <param name="widgetCode">Mã dashboard hoặc mã portlet.</param>
        protected ParamCtrlBase Load_CtrlParams(string widgetCode)
        {
            ParamCtrlBase ctrl = null;

            ctrl               = this.LoadControl("wcPortletParams.ascx") as ParamCtrlBase;
            ctrl.ID            = string.Format("genPortletParam_{0}", widgetCode);
            ctrl.DashboardCode = this.DashboardCode;
            ctrl.WidgetCode    = widgetCode;
            return(ctrl);
        }
        /// <summary>
        /// Tải một control param cho toàn dashboard.
        /// </summary>
        /// <param name="lstWidgetClientInstanceNames">Danh sách các tên thể hiện của các portlet trên dashboard đó ở phía client.</param>
        protected virtual ParamCtrlBase Load_DashboardParams(List <string> lstWidgetClientInstanceNames)
        {
            ParamCtrlBase ctrl = null;

            try
            {
                this.Container_Dashboard_Param.Controls.Clear();
                ctrl = this.Load_CtrlParams(this.DashboardCode);
                ctrl.WidgetClientInstanceNames = lstWidgetClientInstanceNames;
                ctrl.Is_DashboardParam         = true;
                this.Container_Dashboard_Param.Controls.Add(ctrl);
            }
            catch { }
            return(ctrl);
        }