C# 根据设置打印内容

C# 根据设置打印内容,c#,asp.net,css,printing,C#,Asp.net,Css,Printing,我有一个要求,以建立一个应用程序,将打印身份证。该应用程序将有两页: 用于选择身份证布局的设置页面 一个打印页面,其中将捕获用户信息,如姓名、年龄等。它将根据“设置”页面上选择的布局显示身份证预览。单击“打印”后,应打印身份证 如果“设置”页面中的布局已更改,则在打印身份证时,同样的布局也应有效 以下是我所做的: 在设置页面中,我将选择的身份证布局保存到一个表中,在打印页面中,我将在设置页面中显示所有布局。在检索用户在设置页面中所做的选择时,我将选择布局和打印 但是,如果设置页面中的布局增加,

我有一个要求,以建立一个应用程序,将打印身份证。该应用程序将有两页:

  • 用于选择身份证布局的设置页面

  • 一个打印页面,其中将捕获用户信息,如姓名、年龄等。它将根据“设置”页面上选择的布局显示身份证预览。单击“打印”后,应打印身份证

  • 如果“设置”页面中的布局已更改,则在打印身份证时,同样的布局也应有效

    以下是我所做的:

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

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

    我认为这不是一个好办法


    您能给我介绍一下吗。

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

    在使用ASP.NET构建应用程序时,有许多地方可以维护应用程序状态信息,但以下三种情况最为普遍,也最易于使用。下文将讨论这些问题:

    • 在web服务器上
    • 在浏览器中的客户端上
    • 在web应用程序可访问的数据库中
    在Web服务器上存储Web应用程序状态

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

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

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

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

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

    您应该选择什么?

    <>为了确定您应该存储应用程序状态信息的最佳位置,除了考虑上述信息之外,还应该考虑以下内容:

    • 除非您采取一些复杂的步骤,否则保存到用户文件系统的cookie中存储的数据将以明文形式存储,用户可以秘密操纵这些数据

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

    最后,你所做的选择就是你的选择。当你对所有的可能性都有了更好的了解后,你将为做出这些选择做好最好的准备


    祝你旅途好运。

    我觉得这个问题太宽泛了。你说的宽泛是什么意思?这不是你能得到帮助的地方吗@莫科当然是。但是,您要求提供实施(项目的一部分)所需的全部技术。我鼓励你在这里提问,但你需要更具体一些,自己实施一些事情,当你陷入困境时,在这里寻求帮助。显然,你的答案可以在这里得到回答,但答案将主要基于人们的观点、专业知识、惯例等。好吧,我完全迷路了。只要照点光就行了。我不知道下一步该做什么,如果你能告诉我至少我要做的步骤会很简单,甚至不能在不知道下一步该做什么的情况下尝试谷歌@莫克:Sor很忙,Jus现在看到了你的帖子,所以它必须将所选帖子的html设计存储在一个状态中,并使用它