需要从mvc渲染html,只显示html标签而不是文本

时间:2014-04-04 19:11:54

标签: html asp.net-mvc-4 render razorpdf

我正在使用razorpdf在我的mvc 4应用程序中生成pdf报告。每次我生成pdf时,description字段都会显示一堆html标签和不应该显示的字段,我只想显示描述字段中的纯文本。有没有人对如何做到这一点有任何建议,还有关于如何将图像添加到pdf页面的任何建议?

这是我的观点,即生成pdf:

@model List<ArdentMC.DHS.COP.Mobile.MVC.Models.Reports>
@{
Layout = "";
}
<!DOCTYPE html>
<html>
<head>
    <div style="color=red; align:center;">UNCLASSIFIED/FOR OFFICAL USE ONLY</div>

</head>
<body>

<table style="width:300px;">
   @foreach (var item in Model)
{
<tr>
<td>@item.Phase</td>
<td>@item.NocNumber</td>
<td>@item.Title</td>
<td>@item.Location</td>
</tr>
    <tr<
    <td></td>
    <td></td> 
    <td>@item.ReportDateText</td>
    <td>@item.Description</td>
    </tr>     
}
</table>                             
    <br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br />
     <div style="color:black; align:center;">US Department of Homeland Security</div>
        <br />
        <div style="color:red; align:center;">UNCLASSIFIED/FOR OFFICAL USE ONLY</div>

</body>
</html>

这是我的模型,其中的信息来自:

          using System;
          using System.Collections.Generic;
          using System.Linq;
          using System.Web;

       namespace ArdentMC.DHS.COP.Mobile.MVC.Models
    {
public class Reports
{
    public string NocNumber { get; set; }
    public string Title { get; set; }
    public Nullable<System.DateTime> IncidentDate { get; set; }
    public string ReportDateText { get; set; }
    public string IncidentType { get; set; }
    public Nullable<int> IncidentSubtypeId { get; set; }
    public string IncidentSubtype { get; set; }
    public Nullable<int> PhaseId { get; set; }
    public string Phase { get; set; }
    public string InitialNotification { get; set; }
    public string Location { get; set; }
    public string NocSpotRep { get; set; }
    public string Contributors { get; set; }
    public string Participants { get; set; }
    public string Description { get; set; }
    public Nullable<int> IncidentStateId { get; set; }
    public string IncidentState { get; set; }
    public Nullable<System.DateTime> PublishDate { get; set; }
    public Nullable<System.DateTime> ArchiveDate { get; set; }

    }
}

有没有人对如何才能显示描述文字有一些建议?先感谢您。

2 个答案:

答案 0 :(得分:1)

我能够添加      @foreach(模型中的var项){      @ Html.Raw(item.Description)  在我的视图中,它为描述字段呈现了正确的代码,因此没有可见标记,只有文本。

答案 1 :(得分:-1)

public ActionResult NotFound() {
    Response.ContentType = "text/html";
    return View();
}