ASP.NET MVC将视图另存为HTML文件

时间:2011-11-29 20:57:44

标签: c# asp.net-mvc

我有一个非常基本的页面,通过相对路径有一些图像,我需要保存到.html文件。

我过去曾使用过此功能,但图像存在问题。

public static class ActionResultExtensions
{
    public static string Capture(this ActionResult result, ControllerContext controllerContext)
    {
        using (var capture = new ResponseCapture(controllerContext.RequestContext.HttpContext.Response))
        {
            result.ExecuteResult(controllerContext);
            return capture.ToString();
        }
    }
}

public class ResponseCapture : IDisposable
{
    private readonly HttpResponseBase _response;
    private readonly TextWriter _originalWriter;
    private StringWriter _localWriter;

    public ResponseCapture(HttpResponseBase response)
    {
        _response = response;
        _originalWriter = response.Output;
        _localWriter = new StringWriter();
        response.Output = _localWriter;
    }

    public override string ToString()
    {
        _localWriter.Flush();
        return _localWriter.ToString();
    }

    public void Dispose()
    {
        if (_localWriter == null) return;

        _localWriter.Dispose();
        _localWriter = null;
        _response.Output = _originalWriter;
    }
}

我想知道如何在一个漂亮的小包装中将所有CSS和图像与HTML一起下载得到结果。

1 个答案:

答案 0 :(得分:0)

如果你需要在HTML文件中全部使用它,你需要做一些恶意将css,js和图像注入到实际文档中,但是你可以使用像MHT文件那样的东西,它是所需资源的一大堆一页。

这看起来像MHT的东西,可能还有其他选择。 http://www.aspnetmht.com/Examples.aspx

相关问题