2015-08-28 32 views
0

本地主機,但如果部署在我的服務器,這是錯誤的服務器顯示當我嘗試加載在哪裏顯示頁面FileResult。有沒有人碰巧遇到過這個問題並解決它?服務器錯誤值不能爲空fileContents從FileResult

enter image description here

這裏是控制器

public FileResult PdfAlpha() 
{ 
    int j = 0; 
    int z = 0; 
    var surnameList = Enumerable.Range('A', 'Z' - 'A' + 1).Select(c => (char)c).ToList(); 
    string html = "<table border='0' cellpadding='0' cellspacing='0'><tr width='220'><td valign='top'><table border='0' cellpadding='0' cellspacing='0'>"; 

    foreach(char header in surnameList) 
    { 
     string ch = header.ToString(); 
     j++; 
     List<RssMasterModel> rssMasterModel = context.RssMasterModel.Where(w => !string.IsNullOrEmpty(w.prenom) && w.isUser == 1 && w.prenom != null && w.isAncien.Equals(false) && w.nom.StartsWith(ch)).OrderBy(m => m.nom).ToList(); 
     if (rssMasterModel.Count > 0) 
     {  
      foreach (RssMasterModel model in rssMasterModel) 
      { 
       if (j > 40) 
       { 
        j = 0; 
        html += "</table></td>"; 
        html += "<td valign='top'><table border='0' cellpadding='0' cellspacing='0'>"; 
       } 
       if (z == 0) 
       { 
        html += "<tr height='5'><td align='center'><strong>" + ch + "</strong></td><td></td></tr>"; 
       } 
       html += "<tr width='220' ><td width='170'>" + model.nom + ", " + model.prenom + "</td><td width='50'>" + model.phone + "</td></tr>"; 
       j++; 
       z++; 
      } 
      z = 0; 
     } 
    } 
    html += "</table></td></tr></table>"; 
    return new FileContentResult(CFunctions.ConvertHtmlToPdfLandscape(html).Data, "application/pdf"); 
} 

這是我的視圖

<div class="container"> 

    <div id="loadImg"><div><img src="@Url.Content("~/Content/images/ajaxSpinner.gif")" /></div></div> 
    <iframe src="@Url.Content("~/PhoneBook/PhonePDF/PdfAlpha")" 
      style="width: 100%; height: 796px; " frameborder="0" onload="document.getElementById('loadImg').style.display='none';"></iframe> 

</div> 

這裏所述方法ConvertHtmlToPdfLandscape

public static ReturnValue ConvertHtmlToPdfLandscape(string HtmlData) 
{ 
    ReturnValue Result = new ReturnValue(); 
    try 
    { 
     HtmlToPdfConverter htpc = new HtmlToPdfConverter(); 
     htpc.Orientation = PageOrientation.Landscape; 
     htpc.CustomWkHtmlArgs = "--margin-top 5 --header-spacing 0 --margin-left 5 --margin-right 0 --encoding UTF-8"; 
     Result.Data = htpc.GeneratePdf(HtmlData); 
     Result.Success = true; 

    } 
    catch (Exception ex) 
    { 
     Result.Success = false; 
     Result.Message = ex.Message; 
    } 

    return Result; 
} 
+0

而不是檢查rssMasterModel的計數,做空檢查。如果列表爲空,並且嘗試獲取它的數量,它將拋出一個NullReferenceException。 –

+0

是否出現在日誌記錄或服務器事件查看器中的任何異常?你使用正確的數據庫連接字符串嗎?他們是否顯示任何文件? – user1666620

+0

好的連接字符串是正確的一個,因爲我使用相同的數據庫在本地連接在服務器我要求管理員給該帳戶的所有其他查詢工作完全訪問工作正常 – DarkVision

回答

0

鰭盟友發現我的問題 我的研究與開發環境在與服務器之間的不同是我需要安裝的Visual C++可再發行組件包VS2013。希望這可以幫助有同樣問題的人。

0

確保您擁有所有您需要的參考。我有這個錯誤,問題是我失蹤Microsoft.ReportViewer.Common.dll