Beispiel #1
0
 internal void Update(Microsoft.ReportingServices.ReportRendering.Action newAction)
 {
     m_renderAction = newAction;
     m_label        = null;
     m_bookmark     = null;
     m_hyperlink    = null;
 }
        internal static ReportUrl BuildHyperlinkUrl(RenderingContext renderingContext, ObjectType objectType, string objectName, string propertyName, ICatalogItemContext itemContext, string initialUrl)
        {
            ReportUrl result = null;

            if (initialUrl == null)
            {
                return(null);
            }
            bool flag = false;

            try
            {
                string path = initialUrl;
                bool   isRelative;
                bool   num = itemContext.IsReportServerPathOrUrl(path, protocolRestriction: false, out isRelative);
                NameValueCollection queryParameters = null;
                if (num && isRelative)
                {
                    itemContext.PathManager.ExtractFromUrl(path, out path, out queryParameters);
                    if (path == null || path.Length == 0)
                    {
                        flag   = true;
                        path   = null;
                        result = null;
                    }
                }
                if (path != null)
                {
                    result = new ReportUrl(itemContext, path, checkProtocol: false, queryParameters);
                }
            }
            catch (ItemNotFoundException)
            {
                flag = true;
            }
            catch (RenderingObjectModelException)
            {
                flag = true;
            }
            catch (RSException)
            {
                throw;
            }
            catch (Exception)
            {
                flag = true;
            }
            if (flag)
            {
                renderingContext.OdpContext.ErrorContext.Register(ProcessingErrorCode.rsInvalidURLProtocol, Severity.Warning, objectType, objectName, propertyName, initialUrl.MarkAsPrivate());
            }
            return(result);
        }
Beispiel #3
0
 void IActionInstance.SetHyperlinkText(string hyperlinkText)
 {
     m_hyperlinkText = hyperlinkText;
     if (m_hyperlinkText != null)
     {
         ActionInfo owner = m_actionDef.Owner;
         m_hyperlink = ReportUrl.BuildHyperlinkUrl(owner.RenderingContext, owner.ObjectType, owner.ObjectName, "Hyperlink", owner.RenderingContext.OdpContext.ReportContext, m_hyperlinkText);
         if (m_hyperlink == null)
         {
             m_hyperlinkText = null;
         }
     }
     else
     {
         m_hyperlink = null;
     }
 }
Beispiel #4
0
 protected override void ResetInstanceCache()
 {
     m_label     = null;
     m_bookmark  = null;
     m_hyperlink = null;
 }