我已经看到所有关于视图没有代码隐藏的问题和答案,但我有一个案例,我需要复杂的逻辑来生成演示(视图)层。我必须根据从db获得的数据输出PDF文件。生成此PDF并写入响应流的最佳位置在哪里?从控制器执行response.write对我来说感觉非常错误,但我想对此做出响应,并使用代码隐藏文件来生成PDF。我想我可以将数据封装在一个viewmodel类中,并将其传递给Helper方法以生成输出,在这种情况下被认为是最佳实践,特别是在创建PDF时有很多逻辑?
答案 0 :(得分:3)
我会为此创建一个ActionResult类,并从控制器返回它。 ActionResult类负责将内容写入输出流。
答案 1 :(得分:1)
更好的方法是定义一个特定于输出pdf文件的ActionResult。这样,您也可以在其他应用程序中轻松地重用代码