根据设置打印内容

本文关键字:打印 设置 | 更新日期: 2023-09-27 17:55:10

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

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

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

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

这是我所做的:

    在"设置"页面中,
  • 我将身份证布局的选择保存到表中,在"打印"页面中,我将在"设置"页面中显示所有布局。 在检索用户在设置页面所做的选择时,我将选择布局和打印。

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

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

你能指导我完成这个吗?

根据设置打印内容

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

使用

ASP.NET 构建应用程序时,可以在许多地方维护应用程序状态信息,但以下三个是最普遍且最直接使用的地方。 下面将讨论这些内容:

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

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

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

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

Web

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

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

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

你应该选择什么?

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

  • 除非您采取一些复杂的步骤,否则存储在 Cookie 中并保存到用户文件系统中的数据将以明文形式存储,并且可以由用户秘密操作。

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

最后,你所做的选择就是你的选择。 您将做好最好的准备,做出这些选择,对所有可能性进行更好的教育。

祝你旅途顺利。