本地主機,但如果部署在我的服務器,這是錯誤的服務器顯示當我嘗試加載在哪裏顯示頁面FileResult。有沒有人碰巧遇到過這個問題並解決它?服務器錯誤值不能爲空fileContents從FileResult
這裏是控制器
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;
}
而不是檢查rssMasterModel的計數,做空檢查。如果列表爲空,並且嘗試獲取它的數量,它將拋出一個NullReferenceException。 –
是否出現在日誌記錄或服務器事件查看器中的任何異常?你使用正確的數據庫連接字符串嗎?他們是否顯示任何文件? – user1666620
好的連接字符串是正確的一個,因爲我使用相同的數據庫在本地連接在服務器我要求管理員給該帳戶的所有其他查詢工作完全訪問工作正常 – DarkVision