根据设置打印内容

时间:2014-03-30 05:17:33

标签: c# asp.net css printing

我需要构建一个可以打印身份证的应用程序。该应用程序将有两个页面:

  1. 用于选择身份证布局的“设置”页面,

  2. 打印页面,其中将捕获名称,年龄等用户信息。它将根据在“设置”页面上选择的布局显示ID卡的预览。点击打印后,应打印身份证。

  3. 如果“设置”页面中的布局已更改,则在我们打印身份证时应该有效。

    这就是我所做的:

    • 在“设置”页面中,我将ID卡布局的选择保存到表格中,在“打印”页面中,我将在“设置”页面中显示所有布局。在设置页面中检索用户所做的选择时,我将选择布局并打印。

    • 但是,如果设置页面中的布局增加,我需要将所有这些内容复制到打印页面。

    我认为这不是一个很好的方法。

    你可以指导我完成这件事。

1 个答案:

答案 0 :(得分:0)

您需要在这两个不同的网页之间保存的信息称为应用程序" state"信息。作为开发人员,您必须将应用程序状态信息存储在对应用程序网页的调用之间,因为Web服务器本质上是无状态的,并且不会自动为您保存此信息。

使用ASP.NET构建应用程序时,有许多地方可以维护应用程序状态信息,但以下三种最常用且最简单易用。这些讨论如下:

  • 在网络服务器上
  • 在浏览器中的客户端
  • 在Web应用程序可访问的数据库中

在Web服务器上存储Web应用程序状态

ASP.NET Web服务器提供了一个称为" session"的对象。变量。会话对象为开发人员提供了可以临时保存状态信息的位置。我暂时说,因为如果在预定义的时间内没有访问会话对象,系统会销毁和回收特定的会话对象。默认情况下,这是20分钟,但可以在应用程序范围内进行调整(搜索ASP.NET会话超时)。

在客户端的Web浏览器中存储Web应用程序状态

Web浏览器允许开发人员以称为" cookies"的方式维护Web应用程序状态信息。 Cookie与特定网页,Web应用程序路径或网站相关联。再一次,这是由Web应用程序的开发人员通过设置cookie的属性来确定的。当用户浏览到与cookie相关联的网页或路径时,cookie信息将自动在网页的HTTP请求中传输。然后,ASP.NET通过" Cookies"将该cookie信息提供给网页。采集。这允许开发人员访问网页中的该信息。请注意,开发人员可以指定在用户系统上保存cookie的时间。如果未指定超时,则cookie不会持久保存到磁盘并存在于用户浏览器的内存中,并且在浏览器关闭时将被销毁。

在数据库中存储Web应用程序状态

还可以将应用程序状态信息存储在其他地方。有时人们可能希望在很长一段时间内保持信息,例如用户相关数据就是这种情况。在这种情况下,开发人员通常会将此信息保存在数据库中,以便可以轻松检索,修改或删除,并且可以在很长一段时间(数周,数月或数年)内稳定维护。

您应该选择什么?

为了确定应存储应用程序状态信息的最佳位置,除了考虑上述信息外,还应考虑以下事项:

  • 除非您采取一些精心设计的步骤,否则存储在用户文件系统中的Cookie中存储的数据将以明文形式存储,并且可能会被用户秘密操纵。

  • 如果您需要将应用程序扩展到多个Web服务器(Web场),那么存储在Web服务器上的会话对象中的数据可能会让您感到悲伤。这是因为您的用户的后续网页请求可能会转到不同的Web服务器,并且最新的会话信息仅存在于其中一个服务器上。有一些机制可以处理扩展依赖于会话的Web应用程序,但一般情况下,如果您认为将此应用程序扩展到多个Web服务器,则应该尝试不使用会话。

    < / LI>

最后,你做出的选择就是你的选择。你将做好最充分的准备,让这些选择在所有可能性方面得到更好的教育。

祝你好运。