7

में टूटी हुई छवियां दिखाने वाले ReportViewer मैं ReportViewer 10.0 का उपयोग कर रहा हूं। Google क्रोम में, लाइनें टूटी हुई छवि के साथ आती हैं जिन्हें blank.gif कहा जाता है। लेकिन आईई और फ़ायरफ़ॉक्स ठीक काम कर रहे हैं।क्रोम

यहाँ छवियों के साथ एक उदाहरण परिक्रमा है:

Screnshot

इसे ठीक करने पर कोई भी विचार?

+0

नहीं है [IE11 ​​के लिए एक अलग सवाल] (http: // stackoverflow। कॉम/क्यू/21 993721/41 99 56) एक ही मूल कारण के साथ लेकिन पूरी तरह से अलग लक्षण (आईई 11 बस लटकता है)। – Jeroen

उत्तर

8

मुझे एक ही समस्या थी और एक समाधान मिला। आप बस अपने सीएसएस में इस लाइन में जोड़ें:

body:nth-of-type(1) img[src*="Blank.gif"]{display:none;}

मुझे यह जवाब http://coffeestain-it.blogspot.com/2011/08/sql-reporting-services-viewer-broken-in.html से मिला है। शुभ लाभ।

+0

ट्विक काम किया .... –

+0

यह विंडोज 10 एज – Greg

2

वर्तमान समाधान इस मुद्दे को मुखौटा करेगा, लेकिन अंतर्निहित समस्या का समाधान नहीं करेगा, यह है कि जब आईई के अलावा ब्राउज़र gif (जो एसएसआरएस सिर्फ पैडिंग को प्रतिस्थापित करने के लिए उपयोग करता है) के लिए अनुरोध लिख रहा है, तो वे नहीं जानते IterationId क्वेरी स्ट्रिंग पैरामीटर शामिल करने के लिए।

SQL Reporting Services Viewer broken in Non-IE Browsers के रूप में बताते हैं, अगर आप ReportViewer का उपयोग कर रहे, तो आप इस आपके आवेदन मार्ग में Application_BeginRequest के तहत इस तरह ठीक कर सकते हैं:

protected void Application_BeginRequest(object sender, EventArgs e) 
{ 
    // Original fix credit to Stefan Mohr 
    // Bug fix for MS SSRS Blank.gif 500 server error missing parameter IterationId 
    // https://connect.microsoft.com/VisualStudio/feedback/details/556989/ 
    HttpRequest req = HttpContext.Current.Request; 
    if (req.Url.PathAndQuery.StartsWith("/Reserved.ReportViewerWebControl.axd") && 
     !req.Url.ToString().ToLower().Contains("iteration") && 
     !String.IsNullOrEmpty(req.QueryString["ResourceStreamID"]) && 
     req.QueryString["ResourceStreamID"].ToLower().Equals("blank.gif")) 
    { 
     Context.RewritePath(String.Concat(req.Url.PathAndQuery, "&IterationId=0")); 
    } 
} 
+0

के लिए भी इसे ठीक करता है आप 'इंडेक्सऑफ': ' req.Url.ToString() का उपयोग कर 'ToLower() 'के प्रदर्शन हिट से बच सकते हैं। IndexOf (" IterationId " , StringComparison.OrdinalIgnoreCase) <0' 'ToLower()' कहलाता है जब एक नई स्ट्रिंग बनाता है। –

+0

@ डी-मनी, पठनीयता सूक्ष्म अनुकूलन trumps - * हमेशा *। उस ने कहा, आप ['String.Equals (ए, बी, स्ट्रिंग कॉम्परिसन 'का उपयोग कर इंडेक्स का उपयोग किए बिना केस असंवेदनशील तुलना कर सकते हैं।OrdinalIgnoreCase) '] (https://msdn.microsoft.com/en-us/library/t4411bks.aspx) – KyleMit

+0

मैं समयपूर्व अनुकूलन के बारे में सहमत हूं। मैंने सोचा कि यह एक टिप्पणी के लायक था क्योंकि यह कोड प्रत्येक अनुरोध पर चलता है। साथ ही, मेरा कोड कोड कोड को प्रतिस्थापित करता है, बराबर कोड नहीं। –

0

मेरे मामले में अपनी प्रतिक्रिया परीक्षण मोड में काम नहीं कर रहा (स्थानीय होस्ट) , लेकिन मैंने सही किया और अब यह काम करता है, "स्टार्ट्सविथ" डालने के बजाय मैंने "इसमें शामिल" रखा है।

Protected Sub Application_BeginRequest(sender As Object, e As EventArgs) 
     ' Original fix credit to Stefan Mohr 
     ' Bug fix for MS SSRS Blank.gif 500 server error missing parameter IterationId 
     ' https://connect.microsoft.com/VisualStudio/feedback/details/556989/ 
     Dim req As HttpRequest = HttpContext.Current.Request 
     If req.Url.PathAndQuery.Contains("/Reserved.ReportViewerWebControl.axd") AndAlso Not req.Url.ToString().ToLower().Contains("iteration") AndAlso Not [String].IsNullOrEmpty(req.QueryString("ResourceStreamID")) AndAlso req.QueryString("ResourceStreamID").ToLower().Equals("blank.gif") Then 
      Context.RewritePath([String].Concat(req.Url.PathAndQuery, "&IterationId=0")) 
     End If 
    End Sub 

आशा है कि आप मदद,

+0

आपको इस कोड को Global.asax (asp.net - VB में) में या Global.asax.cs में C# में रखना होगा। – SohamHck

0

वर्कअराउंड:: उपयोग आयतों/बक्सें/tablix कोशिकाओं और केवल दिखा अपनी सीमाओं में से एक है यह कोड है। क्रोम पर काम करता है। ओपी के लिए, वह डेटा कॉलम के बीच स्पैसर के रूप में अतिरिक्त कॉलम जोड़ सकते हैं और उन लोगों के लिए सीमा दिखाते हुए छोड़ सकते हैं। के रूप में हुआ

void Application_BeginRequest(object sender, EventArgs e) 
{ 
    //The following code is a hack for stopping a broken image from magically appearing on SSRS reports in chrome 
    //where ever a line is used in the report. 
    Uri u = HttpContext.Current.Request.Url; 

    //If the request is from a Chrome browser 
    //AND a report is being generated 
    //AND there is no QSP entry named "IterationId" 
    if (HttpContext.Current.Request.Browser.Browser.ToLower().Contains("chrome") && 
    u.AbsolutePath.ToLower().Contains("reserved.reportviewerwebcontrol.axd") && 
    !u.Query.ToLower().Contains("iterationid")) 
     HttpContext.Current.RewritePath(u.PathAndQuery + "&IterationId=0"); 
} 

लेकिन, हो सकता है आप छूट गए थे या Global.asax फ़ाइल नहीं है,:

0

अन्य उत्तर के रूप में, मैं अपने Global.asax फ़ाइल में निम्न कोड जोड़ने इस समस्या का समाधान मेरे लिए। तो अपने समाधान का चयन करें और यहां जाएं: Global.asax के रूप में सहेज

File > New > File > Web > C#/VB.Net > Global Application Class 

, कोड पेस्ट और यह आपकी समस्या का समाधान होगा।

0

मैं ReportViewer संस्करण 10 के साथ एक ही त्रुटि तो मैं संस्करण 14 के लिए अद्यतन किया था, यह समस्या का समाधान और कुछ संवर्द्धन, compelte गाइड मिल here