public override DataTable GetDataTable (PortalModuleBase module, UniversityModelContext modelContext, string search)
 {
     var eduProgramProfiles = new FindEduProgramProfileQuery (modelContext).List (search)
         .Select (epp => new EduProgramProfileViewModel (epp));
     
     return DataTableConstructor.FromIEnumerable (eduProgramProfiles);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Kiem tra dang nhap
 /// </summary>
 /// <param name="pPage">current page</param>
 /// <author>NHTIN</author>
 public static void MustLogin(DotNetNuke.Entities.Modules.PortalModuleBase pPage)
 {
     if (Null.IsNull(pPage.UserId))
     {
         pPage.Response.Redirect(Globals.NavigateURL("Login", new string[] { "returnurl=" + HttpUtility.UrlEncode(pPage.Request.Url.AbsoluteUri) }), true);
     }
 }
Ejemplo n.º 3
0
        public static void SessionTimerJavaScript(PortalModuleBase portalModuleBase)
        {
            if (portalModuleBase.Page != null)
            {
                string timerScript = "<script src=\"/DesktopModules/Angular/Scripts/SessionTimer.js\" type=\"text/javascript\"></script>";

                int sessionWarningThresholdInMilliSeconds = int.Parse(portalModuleBase.Settings["SessionTimerThreshold"].ToString()) * 60000;
                int sessionDurationInMilliSeconds = portalModuleBase.Page.Session.Timeout * 60000;

                //guard against invalid warning threshold.
                if (sessionWarningThresholdInMilliSeconds >= sessionDurationInMilliSeconds)
                {
                    sessionWarningThresholdInMilliSeconds = sessionDurationInMilliSeconds - 1000;
                }

                string timerVars = string.Format("sessionApp.constant('settings',{{ threshold: {0}, sessionDuration: {1} }});\n", sessionWarningThresholdInMilliSeconds.ToString(), sessionDurationInMilliSeconds.ToString());

                if (!portalModuleBase.Page.ClientScript.IsStartupScriptRegistered("_SessionTimerInclude_"))
                {
                    portalModuleBase.Page.ClientScript.RegisterStartupScript(portalModuleBase.Page.GetType(), "_SessionTimerInclude_", timerScript, false);
                }
                if (!portalModuleBase.Page.ClientScript.IsStartupScriptRegistered("_SessionTimerVars_"))
                {
                    portalModuleBase.Page.ClientScript.RegisterStartupScript(portalModuleBase.Page.GetType(), "_SessionTimer_", timerVars, true);
                }
            }
        }
Ejemplo n.º 4
0
        /// <Summary>
        /// GetPortalModuleBase gets the parent PortalModuleBase Control
        /// </Summary>
        public static PortalModuleBase GetPortalModuleBase( UserControl objControl )
        {
            PortalModuleBase objPortalModuleBase = null;

            Panel ctlPanel;

            if (objControl is SkinObjectBase)
            {
                ctlPanel = (Panel)objControl.Parent.FindControl("ModuleContent");
            }
            else
            {
                ctlPanel = (Panel)objControl.FindControl("ModuleContent");
            }

            if (ctlPanel != null)
            {
                try
                {
                    objPortalModuleBase = (PortalModuleBase)ctlPanel.Controls[0];
                }
                catch
                {
                    // module was not loaded correctly
                }
            }

            if (objPortalModuleBase == null)
            {
                objPortalModuleBase = new PortalModuleBase();
                objPortalModuleBase.ModuleConfiguration = new ModuleInfo();
            }

            return objPortalModuleBase;
        }
        public override DataTable GetDataTable (PortalModuleBase module, UniversityModelContext modelContext, string search)
        {
            var dt = new DataTable ();
            DataRow dr;

            dt.Columns.Add (new DataColumn ("AchievementID", typeof (int)));
            dt.Columns.Add (new DataColumn ("Title", typeof (string)));
            dt.Columns.Add (new DataColumn ("ShortTitle", typeof (string)));
            dt.Columns.Add (new DataColumn ("AchievementType", typeof (string)));

            foreach (DataColumn column in dt.Columns)
                column.AllowDBNull = true;

            // REVIEW: Cannot set comparison options
            var achievements = (search == null)
                ? new FlatQuery<AchievementInfo> (modelContext).List ()
                : new FlatQuery<AchievementInfo> (modelContext)
                    .ListWhere (a => a.Title.Contains (search) || a.ShortTitle.Contains (search));

            foreach (var achievement in achievements) {
                var col = 0;
                dr = dt.NewRow ();

                dr [col++] = achievement.AchievementID;
                dr [col++] = achievement.Title;
                dr [col++] = achievement.ShortTitle;
                dr [col++] = Localization.GetString (
                    AchievementTypeInfo.GetResourceKey (achievement.AchievementType),
                    module.LocalResourceFile);

                dt.Rows.Add (dr);
            }

            return dt;
        }
 public virtual void Init (PortalModuleBase module, GridView gridView, HyperLink addButton, int pageSize)
 {
     Grid = gridView;
     Grid.PageSize = pageSize;
     AddButton = addButton;
     AddButton.NavigateUrl = Utils.EditUrl (module, EditKey);
 }
 public static void Init (PortalModuleBase module, DnnComboBox comboWorkingHours)
 {
     // fill working hours terms
     var termCtrl = new TermController ();
     var workingHours = termCtrl.GetTermsByVocabulary ("University_WorkingHours").ToList ();
     workingHours.Insert (0, new Term (Localization.GetString ("NotSelected.Text", module.LocalResourceFile)));
     comboWorkingHours.DataSource = workingHours;
     comboWorkingHours.DataBind ();
 }
Ejemplo n.º 8
0
 private void DynamicallyLoadControl(DotNetNuke.Entities.Modules.PortalModuleBase objModule)
 {
     if ((objModule != null))
     {
         objModule.ID = "DynamicPage";
         objModule.ModuleConfiguration = this.ModuleConfiguration;
         DCP.Controls.Clear();
         DCP.Controls.Add(objModule);
     }
 }
Ejemplo n.º 9
0
        public override DataTable GetDataTable (PortalModuleBase module, UniversityModelContext modelContext, string search)
        {
            // REVIEW: Cannot set comparison options
            var documents = (search == null)
                ? new FlatQuery<DocumentInfo> (modelContext).List ()
                : new FlatQuery<DocumentInfo> (modelContext)
                    .ListWhere (p => p.Title.Contains (search) || p.Url.Contains (search));

            return DataTableConstructor.FromIEnumerable (documents);
        }
Ejemplo n.º 10
0
 public override DataTable GetDataTable (PortalModuleBase module, UniversityModelContext modelContext, string search)
 {
     // REVIEW: Cannot set comparison options
     var eduPrograms = (search == null)
         ? new FlatQuery<EduProgramInfo> (modelContext).List ()
         : new FlatQuery<EduProgramInfo> (modelContext)
             .ListWhere (ep => ep.Code.Contains (search) || ep.Title.Contains (search));
     
     return DataTableConstructor.FromIEnumerable (eduPrograms);
 }
Ejemplo n.º 11
0
        //edit url
        public Pager(int pageSize, int currentPage, int totalItemCount,int tabid,string key, PortalModuleBase _pm, params  string[] _prs)
        {
            this.pageSize = pageSize;
            this.currentPage = currentPage;
            this.totalItemCount = totalItemCount;
            this.tabid = tabid;

            foreach (string p in _prs)
            {

                prs.Add(p);

            }
            this.key = key;
            this.pmb = _pm;
        }
        public virtual ModuleAction GetAction (PortalModuleBase module)
        {
            // ModuleActionCollection is created before OnInit,
            // so need to pass module reference to this method

            return new ModuleAction (
                module.GetNextActionID (),
                // TODO: Action labels require localization
                EditKey.Replace ("Edit", "Add "),
                ModuleActionType.AddContent, 
                "", "",
                Utils.EditUrl (module, EditKey),
                "",
                false, 
                SecurityAccessLevel.Edit,
                true, false
            );
        }
        public static void ItemDataBound (PortalModuleBase module, object sender, RepeaterItemEventArgs e)
        {
            // exclude header & footer
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
                var gop = (GroupedOccupiedPosition) e.Item.DataItem;
                var op = gop.OccupiedPosition;

                var labelPosition = (Label) e.Item.FindControl ("labelPosition");
                var labelDivision = (Label) e.Item.FindControl ("labelDivision");
                var linkDivision = (HyperLink) e.Item.FindControl ("linkDivision");

                labelPosition.Text = gop.Title;

                // don't display division title for highest level divisions
                if (TypeUtils.IsNull (op.Division.ParentDivisionID)) {
                    labelDivision.Visible = false;
                    linkDivision.Visible = false;
                }
                else {
                    var divisionShortTitle = FormatHelper.FormatShortTitle (
                        op.Division.ShortTitle,
                        op.Division.Title);

                    if (!string.IsNullOrWhiteSpace (op.Division.HomePage)) {
                        // link to division's homepage
                        labelDivision.Visible = false;
                        linkDivision.NavigateUrl = UniversityUrlHelper.FormatCrossPortalTabUrl (
                            module,
                            int.Parse (op.Division.HomePage),
                            false);
                        linkDivision.Text = divisionShortTitle;
                    }
                    else {   
                        // only division title
                        linkDivision.Visible = false;
                        labelDivision.Text = divisionShortTitle;
                    }

                    labelPosition.Text += ": "; // to prev label!
                }
            }
        }
Ejemplo n.º 14
0
        public override DataTable GetDataTable (PortalModuleBase module, UniversityModelContext modelContext, string search)
        {
            // REVIEW: Cannot set comparison options
            var employees = (search == null)
                ? new FlatQuery<EmployeeInfo> (modelContext).List ()
                : new FlatQuery<EmployeeInfo> (modelContext)
                    .ListWhere (e => e.LastName.Contains (search)
                                || e.FirstName.Contains (search)
                                || e.OtherName.Contains (search)
                                || e.CellPhone.Contains (search)
                                || e.Phone.Contains (search)
                                || e.Fax.Contains (search)
                                || e.Email.Contains (search)
                                || e.SecondaryEmail.Contains (search)
                                || e.WebSite.Contains (search)
                                || e.WebSiteLabel.Contains (search)
                                || e.WorkingHours.Contains (search)
                            );

            return DataTableConstructor.FromIEnumerable (employees.Select (e => new EmployeeViewModel (e)));
        }
 public virtual void DataBind (PortalModuleBase module, UniversityModelContext modelContext, string search = null)
 {
     Grid.DataSource = GetDataTable (module, modelContext, search);
     module.Session [Grid.ID] = Grid.DataSource;
     Grid.DataBind ();
 }
Ejemplo n.º 16
0
 public ItemManager(PortalModuleBase module)
 {
     this._module = module;
 }
 public virtual void Init (PortalModuleBase module, GridView gridView, int pageSize)
 {
     Grid = gridView;
     Grid.PageSize = pageSize;
 }
Ejemplo n.º 18
0
 /// -----------------------------------------------------------------------------
 /// <summary>
 /// GetParentSkin gets the Parent Skin for a control
 /// </summary>
 /// <param name="module">The control whose Parent Skin is requested</param>
 /// <history>
 /// 	[cnurse]	12/04/2007  documented
 /// </history>
 /// -----------------------------------------------------------------------------
 public static Skin GetParentSkin(PortalModuleBase module)
 {
     return GetParentSkin(module as Control);
 }
Ejemplo n.º 19
0
        public static void ProcessModuleLoadException( string FriendlyMessage, PortalModuleBase ctrlModule, Exception exc, bool DisplayErrorMessage )
        {
            if( ThreadAbortCheck( exc ) )
            {
                return;
            }
            PortalSettings _portalSettings = PortalController.GetCurrentPortalSettings();
            try
            {
                if( Convert.ToString( Globals.HostSettings["UseCustomErrorMessages"] ) == "N" )
                {
                    throw ( new ModuleLoadException( FriendlyMessage, exc ) );
                }
                else
                {
                    ModuleLoadException lex = new ModuleLoadException( exc.Message.ToString(), exc, ctrlModule.ModuleConfiguration );
                    //publish the exception

                    ExceptionLogController objExceptionLog = new ExceptionLogController();
                    objExceptionLog.AddLog( lex );

                    //Some modules may want to suppress an error message
                    //and just log the exception.
                    if( DisplayErrorMessage )
                    {
                        PlaceHolder ErrorPlaceholder = null;
                        if( ctrlModule.Parent != null )
                        {
                            ErrorPlaceholder = (PlaceHolder)ctrlModule.Parent.FindControl( "MessagePlaceHolder" );
                        }
                        if( ErrorPlaceholder != null )
                        {
                            //hide the module
                            ctrlModule.Visible = false;
                            ErrorPlaceholder.Visible = true;
                            ErrorPlaceholder.Controls.Add( new ErrorContainer( _portalSettings, FriendlyMessage, lex ).Container ); //add the error message to the error placeholder
                        }
                        else
                        {
                            //there's no ErrorPlaceholder, add it to the module's control collection
                            ctrlModule.Controls.Add( new ErrorContainer( _portalSettings, FriendlyMessage, lex ).Container );
                        }
                    }
                }
            }
            catch( Exception exc2 )
            {
                ProcessPageLoadException( exc2 );
            }
        }
Ejemplo n.º 20
0
 public ProviderControlBase GetProfileControl(PortalModuleBase parentControl, string modulePath)
 {
     ProviderControlBase profileControl = loadControl(parentControl, modulePath, "Profile");
     return profileControl;
 }
Ejemplo n.º 21
0
 public static void AddModuleMessage(PortalModuleBase control, string heading, string message, ModuleMessage.ModuleMessageType moduleMessageType)
 {
     AddModuleMessage(control, heading, message, moduleMessageType, Null.NullString);
 }
Ejemplo n.º 22
0
		/// <summary>
		/// Processes the module load exception.
		/// </summary>
		/// <param name="objPortalModuleBase">The portal module base.</param>
		/// <param name="exc">The exc.</param>
		/// <param name="DisplayErrorMessage">if set to <c>true</c> display error message.</param>
        public static void ProcessModuleLoadException(PortalModuleBase objPortalModuleBase, Exception exc, bool DisplayErrorMessage)
        {
            ProcessModuleLoadException((Control) objPortalModuleBase, exc, DisplayErrorMessage);
        }
Ejemplo n.º 23
0
		/// <summary>
		/// Processes the module load exception.
		/// </summary>
		/// <param name="FriendlyMessage">The friendly message.</param>
		/// <param name="objPortalModuleBase">The obj portal module base.</param>
		/// <param name="exc">The exc.</param>
		/// <param name="DisplayErrorMessage">if set to <c>true</c> display error message.</param>
        public static void ProcessModuleLoadException(string FriendlyMessage, PortalModuleBase objPortalModuleBase, Exception exc, bool DisplayErrorMessage)
        {
            ProcessModuleLoadException(FriendlyMessage, (Control) objPortalModuleBase, exc, DisplayErrorMessage);
        }
Ejemplo n.º 24
0
 protected void gvMenu_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e)
 {
     DotNetNuke.Entities.Modules.PortalModuleBase objModule = (DotNetNuke.Entities.Modules.PortalModuleBase) this.LoadControl(String.Format("~/DesktopModules/{0}", e.CommandArgument.ToString()));
     DynamicallyLoadControl(objModule);
 }
Ejemplo n.º 25
0
		/// <summary>
		/// Processes the module load exception.
		/// </summary>
		/// <param name="objPortalModuleBase">The portal module base.</param>
		/// <param name="exc">The exc.</param>
        public static void ProcessModuleLoadException(PortalModuleBase objPortalModuleBase, Exception exc)
        {
            ProcessModuleLoadException((Control) objPortalModuleBase, exc);
        }
Ejemplo n.º 26
0
        /// <summary>
        /// Initializes the Editor
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
        private void CKEditorInit(object sender, EventArgs e)
        {
            if (this.Page != null)
            {
                this.Page.RegisterRequiresPostBack(this); // Ensures that postback is handled
            }

            this.myParModule = (PortalModuleBase)FindModuleInstance(this);

            if (this.myParModule == null || this.myParModule.ModuleId == -1)
            {
                // Get Parent ModuleID From this ClientID
                string sClientId = this.ClientID.Substring(this.ClientID.IndexOf("ctr") + 3);

                sClientId = sClientId.Remove(this.ClientID.IndexOf("_"));

                try
                {
                    this.parentModulId = int.Parse(sClientId);
                }
                catch (Exception)
                {
                    // The is no real module, then use the "User Accounts" module (Profile editor)
                    ModuleController db = new ModuleController();
                    ModuleInfo objm = db.GetModuleByDefinition(this._portalSettings.PortalId, "User Accounts");

                    this.parentModulId = objm.TabModuleID;
                }
            }
            else
            {
                this.parentModulId = this.myParModule.ModuleId;
            }

            this.CheckFileBrowser();

            this.LoadAllSettings();

            if (!HasMsAjax)
            {
                return;
            }

            this.RegisterCKEditorLibrary();

            this.GenerateEditorLoadScript();
        }
 public virtual void SetEditLink (PortalModuleBase module, HyperLink link, string id)
 {
     link.NavigateUrl = Utils.EditUrl (module, EditKey, EditQueryKey, id);
 }
Ejemplo n.º 28
0
 /// <summary>
 /// Builds the proper checkout control according the modulePath specified.
 /// <strong>NOTE: The control must have suffix of "Checkout"</strong>
 /// </summary>
 /// <param name="parentControl">Parent for the address checkout control.</param>
 /// <param name="modulePath">Path to the address controllers for this Address Provider.</param>
 /// <returns>The address checkout control for configured address provider</returns>
 public ProviderControlBase GetCheckoutControl(PortalModuleBase parentControl, string modulePath)
 {
     ProviderControlBase checkoutControl = loadControl(parentControl, modulePath, "Checkout");
     return checkoutControl;
 }
 public abstract DataTable GetDataTable (PortalModuleBase module, UniversityModelContext modelContext, string search);
Ejemplo n.º 30
0
 public static void ProcessModuleLoadException( PortalModuleBase ctrlModule, Exception exc, bool DisplayErrorMessage )
 {
     if( ThreadAbortCheck( exc ) )
     {
         return;
     }
     ProcessModuleLoadException( string.Format( Localization.Localization.GetString( "ModuleUnavailable" ), ctrlModule.ModuleConfiguration.ModuleTitle ), ctrlModule, exc, DisplayErrorMessage );
 }
Ejemplo n.º 31
0
        /// <summary>
        /// Initializes the Editor
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
        private void CKEditorInit(object sender, EventArgs e)
        {
            if (this.Page != null)
            {
                this.Page.RegisterRequiresPostBack(this); // Ensures that postback is handled
            }

            this.myParModule = (PortalModuleBase)FindModuleInstance(this);

            var isUserAccountsModule = false;

            if (this.myParModule == null || this.myParModule.ModuleId == -1)
            {
                // Get Parent ModuleID From this ClientID
                string sClientId = this.ClientID.Substring(this.ClientID.IndexOf("ctr") + 3);

                sClientId = sClientId.Remove(this.ClientID.IndexOf("_"));

                try
                {
                    this.parentModulId = int.Parse(sClientId);
                }
                catch (Exception)
                {
                    // The is no real module, then use the "User Accounts" module (Profile editor)
                    ModuleController db = new ModuleController();
                    ModuleInfo objm = db.GetModuleByDefinition(this._portalSettings.PortalId, "User Accounts");

                    this.parentModulId = objm.TabModuleID;

                    isUserAccountsModule = true;
                }
            }
            else
            {
                this.parentModulId = this.myParModule.ModuleId;
            }

            this.CheckFileBrowser();

            this.LoadAllSettings();

            var isEditorInRadWindow = HttpContext.Current.Request.QueryString["rwndrnd"] != null;

            if (!isEditorInRadWindow)
            {
                ((CDefault)this.Page).AddStyleSheet(
                    "CKEditorStyles",
                    Globals.ResolveUrl("~/Providers/HtmlEditorProviders/CKEditor/editor.css"));
            }

            // Register Scripts
            ClientScriptManager cs = this.Page.ClientScript;

            Type csType = this.GetType();

            const string CsName = "CKEdScript";
            const string CsFindName = "CKFindScript";
            const string CsAdaptName = "CKAdaptScript";

            jQuery.RequestRegistration();

            // Inject jQuery if editor is loaded in a RadWindow
            if (isEditorInRadWindow)
            {
                ScriptManager.RegisterClientScriptInclude(
                    this, csType, "jquery_registered", "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js");
            }

            if (isUserAccountsModule)
            {
                if (File.Exists(this.Context.Server.MapPath("~/Providers/HtmlEditorProviders/CKEditor/ckeditor.js")))
                {
                    ScriptManager.RegisterClientScriptInclude(
                        this,
                        csType,
                        CsName,
                        Globals.ResolveUrl("~/Providers/HtmlEditorProviders/CKEditor/ckeditor.js"));
                }

                if (
                    File.Exists(
                        this.Context.Server.MapPath(
                            "~/Providers/HtmlEditorProviders/CKEditor/js/jquery.ckeditor.adapter.js")))
                {
                    ScriptManager.RegisterClientScriptInclude(
                        this,
                        csType,
                        CsAdaptName,
                        Globals.ResolveUrl("~/Providers/HtmlEditorProviders/CKEditor/js/jquery.ckeditor.adapter.js"));
                }

                if (
                    File.Exists(
                        this.Context.Server.MapPath("~/Providers/HtmlEditorProviders/CKEditor/ckfinder/ckfinder.js"))
                    && this.currentSettings.BrowserMode.Equals(Browser.CKFinder))
                {
                    ScriptManager.RegisterClientScriptInclude(
                        this,
                        csType,
                        CsFindName,
                        Globals.ResolveUrl("~/Providers/HtmlEditorProviders/CKEditor/ckfinder/ckfinder.js"));
                }

                // Load Custom JS File
                if (!string.IsNullOrEmpty(this.currentSettings.CustomJsFile))
                {
                    ScriptManager.RegisterClientScriptInclude(
                        this,
                        csType,
                        "CKCustomJSFile",
                        this.FormatUrl(this.currentSettings.CustomJsFile));
                }
            }
            else
            {
                if (File.Exists(this.Context.Server.MapPath("~/Providers/HtmlEditorProviders/CKEditor/ckeditor.js"))
                    && !cs.IsClientScriptIncludeRegistered(csType, CsName))
                {
                    cs.RegisterClientScriptInclude(
                        csType,
                        CsName,
                        Globals.ResolveUrl("~/Providers/HtmlEditorProviders/CKEditor/ckeditor.js"));
                }

                if (
                    File.Exists(
                        this.Context.Server.MapPath(
                            "~/Providers/HtmlEditorProviders/CKEditor/js/jquery.ckeditor.adapter.js"))
                    && !cs.IsClientScriptIncludeRegistered(csType, CsAdaptName))
                {
                    cs.RegisterClientScriptInclude(
                        csType,
                        CsAdaptName,
                        Globals.ResolveUrl("~/Providers/HtmlEditorProviders/CKEditor/js/jquery.ckeditor.adapter.js"));
                }

                if (
                    File.Exists(
                        this.Context.Server.MapPath("~/Providers/HtmlEditorProviders/CKEditor/ckfinder/ckfinder.js"))
                    && !cs.IsClientScriptIncludeRegistered(csType, CsFindName)
                    && this.currentSettings.BrowserMode.Equals(Browser.CKFinder))
                {
                    cs.RegisterClientScriptInclude(
                        csType,
                        CsFindName,
                        Globals.ResolveUrl("~/Providers/HtmlEditorProviders/CKEditor/ckfinder/ckfinder.js"));
                }

                // Load Custom JS File
                if (!string.IsNullOrEmpty(this.currentSettings.CustomJsFile)
                    && !cs.IsClientScriptIncludeRegistered(csType, "CKCustomJSFile"))
                {
                    cs.RegisterClientScriptInclude(
                        csType,
                        "CKCustomJSFile",
                        this.FormatUrl(this.currentSettings.CustomJsFile));
                }
            }
        }
Ejemplo n.º 32
-1
 public virtual string GetEditUrl (PortalModuleBase module, string id)
 {
     return module.EditUrl (EditQueryKey, id, EditControlKey);
 }
Ejemplo n.º 33
-1
 public virtual string GetAddUrl (PortalModuleBase module)
 {
     return module.EditUrl (EditControlKey);
 }