Asp.net mvc mvc视图的重用

Asp.net mvc mvc视图的重用,asp.net-mvc,Asp.net Mvc,我正在开发MVC应用程序,我必须以HTML页面的形式生成报告。如果用户单击打印图标,我必须向用户显示HTML页面。如果用户单击电子邮件图标,我必须发送带有相同HTML页面附件的电子邮件。我试图找到一种方法,在电子邮件和打印两种情况下,我可以使用相同的代码生成HTML。请提供您的建议。您的管理员必须决定要做什么 用户单击“打印”。控制器操作:收集数据、准备视图、显示为HTML页面 用户单击了电子邮件。控制器操作:收集数据、准备视图、调用电子邮件功能并将HTML页面的输出用作附件 您真正想要但不知道

我正在开发MVC应用程序,我必须以HTML页面的形式生成报告。如果用户单击打印图标,我必须向用户显示HTML页面。如果用户单击电子邮件图标,我必须发送带有相同HTML页面附件的电子邮件。我试图找到一种方法,在电子邮件和打印两种情况下,我可以使用相同的代码生成HTML。请提供您的建议。

您的管理员必须决定要做什么

  • 用户单击“打印”。控制器操作:收集数据、准备视图、显示为HTML页面
  • 用户单击了电子邮件。控制器操作:收集数据、准备视图、调用电子邮件功能并将HTML页面的输出用作附件

  • 您真正想要但不知道如何表述的是将视图渲染为字符串。然后,您可以对该字符串的内容执行任何操作

    从这里开始


    但是这个主题在许多其他问题上也在继续(或者你可以用谷歌搜索),你会发现更多的信息。

    但是如何重用同一个视图呢?在第一个场景中,你将它发送到浏览器;在第二个场景中,您将HTML添加到文件中,或者在控制器中调用的email方法中动态创建附件。如果两种方案的HTML相同,则可以使用相同的HTML,不同之处在于使用它时所做的操作。HTML是相同的。我不知道把代码放在哪里来生成HTML。因为HTML通常在视图中,我不确定如何从视图中获取它并将其放入文件中。通常,您的控制器有一个显示视图的方法(本例中为HTML)。您可以在浏览器中显示、将其存储在变量中或将其写入文件。最后两个都可以用于电子邮件中的附件。这实际上取决于你的代码显示视图和发送电子邮件的方式。