csharp 一个过滤器属性,允许您将ASP.NET MVC视图下载为Word文档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 一个过滤器属性,允许您将ASP.NET MVC视图下载为Word文档相关的知识,希望对你有一定的参考价值。

public class WordDocumentAttribute : ActionFilterAttribute
{
    public string DefaultFilename { get; set; }

    public override void OnActionExecuted(ActionExecutedContext filterContext)
    {
        var result = filterContext.Result as ViewResult;

        if (result != null)
            result.MasterName = "~/Views/Shared/_LayoutWord.cshtml";

        filterContext.Controller.ViewBag.WordDocumentMode = true;

        base.OnActionExecuted(filterContext);
    }

    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        var filename = filterContext.Controller.ViewBag.WordDocumentFilename;
        filename = filename ?? DefaultFilename ?? "Document";

        filterContext.HttpContext.Response.AppendHeader("Content-Disposition", string.Format("filename={0}.doc", filename));
        filterContext.HttpContext.Response.ContentType = "application/msword";

        base.OnResultExecuted(filterContext);
    }
}

以上是关于csharp 一个过滤器属性,允许您将ASP.NET MVC视图下载为Word文档的主要内容,如果未能解决你的问题,请参考以下文章

csharp 记录属性过滤器

csharp MVC操作筛选器允许上载安全文件属性

csharp 字符串属性允许使用下拉框和MVC模型验证

csharp 过滤属性以捕获和记录ASP.NET中的请求和响应

csharp 如果页面对移动/非移动上下文无效,则MVC4操作过滤器属性将重定向到不同的控制器

ASP.NE网站发布注意事项