2

私は ASP.NET MVC 4 アプリに取り組んでいます。データが原因で生成に時間がかかる (~30 秒) レポート画面を作成しようとしています。私がやりたいことは、ビューによって生成された HTML を取得し、それをテキスト ファイルに保存することです。

ビューによって生成された HTML を取得する方法はありますか? もしそうなら、どのように?私の .cshtml ファイルにはいくつかの RAZOR が含まれていることに注意してください。それがこの方程式に関係しているかどうかはわかりません。

手伝ってくれてどうもありがとう!

4

1 に答える 1

1

通常、かみそりを使用して電子メール HTML を作成する場合は、次の関数を使用してこのようなことを行います。

public static string RenderViewToString(string viewName, object model, ControllerContext context)
{
    context.Controller.ViewData.Model = model;
    using (var sw = new StringWriter())
    {
        var viewResult = ViewEngines.Engines.FindPartialView(context, viewName);
        var viewContext = new ViewContext(context, viewResult.View, context.Controller.ViewData, context.Controller.TempData, sw);
        viewResult.View.Render(viewContext, sw);
        return sw.GetStringBuilder().ToString();
    }
}
于 2013-03-04T16:53:07.720 に答える