/// <summary>
        /// callback-like function for setting navigation links. designed for call from loop through control collection.
        /// </summary>
        /// <param name="theLink"></param>
        public void setNavigationlinkURL(Control theCtrl)
        {
            HyperLinkPlus theLink = (HyperLinkPlus)theCtrl;
            string        urlFile;

            if (UserValues == null || GlobalValues == null)
            {
                throw new Exception("SetNavigationLinkURL, prerequisites not met.");
            }

            //We want the same URL as the current page, except change the value for my globalValues.
            string qstring = UserValues.GetQueryString(theLink.ParamName, theLink.ParamValue);

            urlFile =
                (theLink.UrlFile == null) ?  Request.Url.LocalPath
                :   Request.ApplicationPath +
                ((theLink.UrlFile.StartsWith("/")) ? theLink.UrlFile
                     :      "/" + theLink.UrlFile
                );

            string url = string.Format("{0}{1}", urlFile, qstring);

            theLink.NavigateUrl = url;

            //If the current user's context is already set to use this param/value,
            //disable this LinkButtonPlus.
            //E.g. if this LinkButtonPlus is set for STYP=1, and the current
            //  user context is set to STYP=1, then disable this.
            System.Reflection.PropertyInfo propertyInfo = GlobalValues.GetType().
                                                          GetProperty(theLink.ParamName,
                                                                      System.Reflection.BindingFlags.GetProperty
                                                                      | System.Reflection.BindingFlags.Public
                                                                      | System.Reflection.BindingFlags.Instance
                                                                      | System.Reflection.BindingFlags.IgnoreCase);

            SetNavigationLinkSelectedStatus(propertyInfo, theLink);
        }