ReportViewerWebWebpart顯示報表時顯示的指令碼錯誤:Uncaught Sys.ArgumentNullException: Sys.ArgumentNullException: 值不

來源:互聯網
上載者:User

原因可能有三個:

1、ReportService版本太低,所以可以升級Sql Server 2008 R2 SP2. 2、主版頁面中的ScriptManager的屬性加上ScriptMode="Release" 3、在網站的web.config中將設定為<compilation batch="false" debug="false" optimizeCompilations="true">,其主要原因是debug為true的時候會出現這個錯誤。 其中第1、2個可能都不是主要原因,但我在測試的時候由於已經安裝了SP2,所以也不可能把它卸載後再去測試,估且這樣認為吧。 另外附上控制ReportViewerWebPart過濾參數以及控制縮放的方法: 在頁面的後台代碼中加入(或者直接寫到aspx檔案中):
 
        protected override void OnLoad(EventArgs e)        {            if (!this.IsPostBack)            {                ReportViewerWebPart viewer = FindMainWebpart<ReportViewerWebPart>();                if (viewer != null)                {                    viewer.OverrideParameters.Clear();                    viewer.OverrideParameters.Add(new Microsoft.Reporting.WebForms.ReportParameter("aa", "13,14", false));
                ReportViewer rptViewer = ReflectorUtils.getField<ReportViewer>("m_reportViewer", viewer);
                rptViewer.ZoomMode = ZoomMode.PageWidth;
                }            }            base.OnLoad(e);        }        /// <summary>        /// 找到頁面的Webpart        /// </summary>        /// <param name="webPartZoneId">WebpartZone的Id</param>        /// <returns></returns>        protected T FindWebpart<T>(string webPartZoneId) where T : Microsoft.SharePoint.WebPartPages.WebPart        {            #region 已注釋:通過Master找特定WebPartZone的控制項            //1.此種方式只能擷取指定地區的Webpart            //ContentPlaceHolder holder =(ContentPlaceHolder)Master.FindControl("PlaceHolderMain");            //if (holder != null)            //{            //    WebPartZone zone = (WebPartZone)holder.FindControl("Main");            //    foreach (WebPart control in zone.WebParts)            //    {            //        if (control is XsltListViewWebPart)            //        {            //        }            //    }            //}            #endregion            T result = default(T);            SPWebPartManager sPWebPartManager = SPWebPartManagerInPage;            if ((sPWebPartManager.Zones != null) && (sPWebPartManager.Zones.Count > 0))            {                foreach (Microsoft.SharePoint.WebPartPages.WebPartZone zone in sPWebPartManager.Zones)                {                    if (zone.ID == webPartZoneId)                    {                        foreach (Microsoft.SharePoint.WebPartPages.WebPart webpart in zone.WebParts)                        {                            if (webpart is T)                            {                                result = (T)webpart;                                break;                            }                        }                    }                    if (result != null)                    {                        break;                    }                }            }            return result;        }        /// <summary>        ///         /// </summary>        /// <typeparam name="T"></typeparam>        /// <returns></returns>        protected T FindMainWebpart<T>() where T : Microsoft.SharePoint.WebPartPages.WebPart        {            return FindWebpart<T>("Main");        }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.