ASP.NET MVC打印表格并实现部分视图表格打印

假设在一个页面上有众多内容,而我们只想把该页面上的表格内容打印出来,window.print()方法会把整个页面的内容打印出来,如何做到只打印表格内容呢?

既然window.print()只会打印整页的内容,何不把表格放在一个部分视图中,在部分视图中再调用window.print()方法。

Model很简单:

    public class Student
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public decimal Score { get; set; }
    }

Home控制器中有一个Action方法返回Student的集合到部分视图:

    public class HomeController : Controller
    {

        public ActionResult Index()
        {
            return View();
        }

        public ActionResult PrintStudent()
        {
            var result = new List
            {
                new Student(){Id = 1, Name = "darren", Score = 90.9M},
                new Student(){Id = 2, Name = "smith", Score = 91.8M},
                new Student(){Id = 3, Name = "kathy", Score = 98.6M}
            };
            return PartialView(result);
        }
    }

在Home/PrintStudent.cshtml这个强类型视图中调用window.print()方法:

@model IEnumerable





打印表格

        @foreach (var student in Model)
        {
            
        }
    
编号 姓名 分数
@student.Id @student.Name @student.Score
打印表格

在Home/Index.cshtml视图中,点击按钮,弹出部分视图内容:

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}



@section scripts
{
    
}

点击"打印已经确定好的内容"按钮:

ASP.NET MVC打印表格并实现部分视图表格打印_第1张图片

取消禁用弹出窗口,再次点击"打印已经确定好的内容"按钮:

ASP.NET MVC打印表格并实现部分视图表格打印_第2张图片

点击"打印表格":

ASP.NET MVC打印表格并实现部分视图表格打印_第3张图片

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

你可能感兴趣的:(ASP.NET MVC打印表格并实现部分视图表格打印)