我是 asp.net mvc 4 的新手。
我使用 RazorPDF 完成了一个简单的应用程序。
应用是显示一个PDF格式的普通页面。我创建了一个新应用程序,它运行良好。但是当我在我的项目中实现时,它不起作用并给出错误,因为无法从程序集“itextsharp”加载类型“iTextSharp.text.html.HtmlParser”,版本=5.5.3.0,文化=中性,PublicKeyToken=8354ae6d2174ddca'。
我对此进行了研究,发现了为什么它显示此错误的概念,因为 bcoz 在安装 RazorPDF 时没有在 iTextSharp 中安装 HtmlParser。
我没有得到的一点是,如果我在新应用程序中做同样的事情,它正在安装所有东西并且代码工作正常,如果我在我的项目中做同样的事情,它不会通过我得到这个错误来安装所有东西.
代码运行良好,毫无疑问。问题是在我的项目中安装 RazorPDF 时,它没有安装 iTextSharp 中的所有 9 个子包(HtmlEncoder、HtmlTags、HtmlUtilities、WebColors、HtmlParser、Markup、ITextmyHtmlHandler、HtmlWriter、HtmlTagMap) ,它只安装了 4 个子包(HtmlEncoder、HtmlTags、HtmlUtilities、WebColors)。
由于 HtmlParser 没有安装它显示这个问题?有没有人有这方面的知识(RazorPDF)。any1 可以帮我解决这个问题吗?
编码 控制器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using pdf.Models;
namespace pdf.Controllers
{
public class StudentsController : Controller
{
public ActionResult Index()
{
var studentMarks = new List<MarksCard>()
{
new MarksCard(){ RollNo = 101, Subject = "C#",FullMarks = 100, Obtained = 90},
new MarksCard() {RollNo = 101, Subject = "asp.net", FullMarks = 100, Obtained = 80},
new MarksCard() {RollNo = 101, Subject = "MVC", FullMarks = 100,Obtained = 100},
new MarksCard() {RollNo = 101, Subject = "SQL Server", FullMarks = 100, Obtained = 75},
};
return new RazorPDF.PdfResult(studentMarks, "Index");
}
}
}
模型
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace pdf.Models
{
public class MarksCard
{
public int RollNo
{
get;
set;
}
public string Subject
{
get;
set;
}
public int FullMarks
{
get;
set;
}
public int Obtained { get; set; }
}
}
看法
@model IEnumerable<pdf.Models.MarksCard>
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<body>
<table border="1" width='500' bordercolor="RED"><tr><td colspan="3" bgcolor="LightGreen"
align="center" valign="top">
SSLC Marks Sheet 2013</td></tr><tr><td>
@{ var rollNumber = Model.Select(z => z.RollNo).Take(1).ToArray();}
Riyaz Akhter<br />RollNo:@rollNumber[0]</td></tr>
<tr>
<td bgcolor="lightblue">@Html.DisplayNameFor(moel => moel.Subject)</td>
<td bgcolor="lightblue">@Html.DisplayNameFor(model => model.FullMarks)</td>
<td bgcolor="lightblue">@Html.DisplayNameFor(model => model.Obtained)</td></tr>
@{
int total = 0;
}
@foreach (var item in Model)
{
<tr><td>@Html.DisplayFor(modelItem => item.Subject)</td>
<td>@Html.DisplayFor(modelItem => item.FullMarks)</td>
<td>@Html.DisplayFor(modelItem => item.Obtained)</td>
</tr>total += item.Obtained;
}
<tr><td>
</td>
<td>
<strong><font color="GREEN">Total</font></strong>
</td>
<td>@total</td></tr>
</table>
</body>
</html>