mvcrazortopdf 首次单击时出现空引用异常 ASP.NEt (会话未正确检索)



我正在开发一个使用 mvcrazortopdf 下载 pdf 文件的程序。第一次单击时,它会抛出NullReferenceException错误。这是我的代码:

控制器

:(审阅者控制器.cs(

    public ActionResult PicOrderPDF() //error on this line
    {
        PurchaseOrder req = (PurchaseOrder)Session["purchaseOrderData"];
        var date = String.Format("{0:yyyyMMdd}", DateTime.Now);
        return new PdfActionResult(req)
        {
            FileDownloadName = date + "-PurchaseOrder" + (req.PicID).ToString("D4") + ".pdf"
        };
    }
    [HttpPost]
    public ActionResult DownloadPdf(PurchaseOrder purchaseOrder)
    {
        Session["purchaseOrderData"] = purchaseOrder;
        return RedirectToAction("PicOrderPDF", "Reviewer");
    }

型号: (采购订单.cs(

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace SampleProject.Models
{
    public class PurchaseOrder : Account
    {
       public int PicID { get; set; }
       public DateTime RequiredDate { get; set; }
    }
}

PicOrderPDF 是要下载的 pdf 的视图。我尝试在错误行添加一个断点进行检查,结果 req 为空。但是继续并再次单击下载后,它下载得很好。对不起,我是新手

问题是第一次清除会话,通过添加解决了

protected void Session_Start()
 {
 }

Global.asax.cs中,您还可以检查此会话变量在控制器操作方法之间丢失

最新更新