使用Rotativa打印功能

时间:2017-08-29 11:59:35

标签: asp.net-mvc rotativa

我使用Rotativa打印我的页面从html到pdf,当我按下按钮进行打印时,它会打开打印预览,但预览不包含我刚刚打印的页面,它包含并显示我登录正如您所见,预览中的页面,所以idont知道发生了什么事。有人请指出我正确的方向?

我尝试打印的页面如下所示: enter image description here 但是当我按下按钮进行打印时,在预览中会给我登录页面:

enter image description here

的AccountController:

protected override void OnActionExecuting(ActionExecutingContext filterContext)
            {
                if (Session["CustomerID"] == null &! Request.RawUrl.ToLower().Contains("login"))
                {
                     Response.Redirect("/Account/Login");
                }
                base.OnActionExecuting(filterContext);
            }

<br>
 //Login


public ActionResult Login()
    {

        return View();

    }
    [HttpPost]
    public ActionResult Login(Customers cust)
    {

        using (DataContext db = new DataContext())
        {
            var user = db.Customers.Where(u => u.CustomerID == cust.CustomerID).FirstOrDefault();

            if (user != null)
            {
                Session["CustomerID"] = user.CustomerID.ToString();
                FormsAuthentication.SetAuthCookie(cust.CustomerID, false);
                Session.Timeout = 30;

                return RedirectToAction("LoggedIn");
            }

            else
            {
                ModelState.AddModelError("", "CustomerID is not Valid");
            }
        }
        return View();

    }

    public ActionResult LoggedIn()
    {

        if (Session["CustomerID"] != null)
        {
            string customerId = Session["CustomerID"].ToString();
            List<Orders> customerOrders;
            using (DataContext data = new DataContext())
            {
                customerOrders = data.Orders.Where(x => x.CustomerID == customerId).ToList();
            }

            return View(customerOrders);
        }
        else
        {
            return RedirectToAction("Login");
        }

    }
    public ActionResult Logout()
    {
        FormsAuthentication.SignOut();
        Session.Remove("Login");
        return RedirectToAction("Login", "Account");
    }

    public ActionResult PrintOrders(int id)
            {
                var report = new ActionAsPdf("ShowOrdersDetails", new { id = id });
                return report;
            }

0 个答案:

没有答案