【问题标题】:windows form application to web page applicationwindows窗体应用程序到网页应用程序
【发布时间】:2014-10-15 09:04:47
【问题描述】:

我的项目有这个要求。已经有一个现有的 windows 窗体应用程序, 单击按钮时发送电子邮件。应用程序背后有很多代码。 它通过连接到数据库来验证作为文本框的字段序列号。 验证错误作为另一个 Windows 窗体弹出。 它在发送电子邮件后生成报告表。有一个配置按钮,只有特定用户可以打开配置表单,其中包含电子邮件设置的详细信息。

现在所有这些都是使用 Windows 窗体开发的。我的新要求是我需要开发 在具有类似功能的 ASP.NET 网页中也是如此。 我尝试使用单击一次部署,但这不是他们需要的。他们想要它作为一个网页。

是否有任何工具或方法可以在 ASP.NET 网页中显示应用程序? 我需要从头开始编码吗?

提前致谢

【问题讨论】:

  • 是的,您可能必须从头开始,因为验证和其他功能将使用不同的方法,并且您必须在客户端和服务器之间划分代码。此外,您将在服务器上托管您的网页。

标签: c# asp.net .net forms


【解决方案1】:

至于 Rex 所说,您将不得不从头开始。它背后的编码是不同的。验证和函数在 asp.net 中的工作方式与在 .net 中的工作方式不同。

【讨论】:

    【解决方案2】:

    由于已经提到的原因,您必须从头开始。如果这是您的第一个 ASP.net 应用程序,这里有一些您想要做的提示:

    1- 为了验证和传输到电子邮件报告以类似的方式工作,您可以使用 Response.Redirect 或 Server.Transfer 或 JavaScript。所有这些方法都有优点和缺点,请参阅Server.Transfer Vs. Response.Redirect 以获取前两种方法的示例。对于 javascript,您需要在 .aspx 文件中编写一个 javascript 函数,或者使用 response.write 在页面中注入 javascript。

    2- 如果您使用 JavaScript 进行验证,您还需要验证服务器端以确保不会有人试图将错误的值传递给您。可以禁用 JavaScript,用户可以直接调用您的报告页面和配置页面,而使用 Windows 表单,您可以控制网页上无法控制的流程。

    3- 您可能必须使用 CSS 来设置电子邮件配置表单和初始表单中的元素样式。定位、停靠、锚定等在网页中完全不同,用 CSS 完成。玩得开心学习 CSS 装箱模型,什么是绝对定位,以及 clear 和 float 的作用;)

    4- 最重要的是 Web 是无状态的。您不能使用私人成员在网络上的页面重新加载之间保留信息。当你在两页之间传递一个值时,第一个不再存在,所以你不能像往常一样只做 Class.somemembervariable 。查看 viewstate、sessionstate 和 querystring 是什么。当您的页面重新加载时,没有这些,一切都将丢失。单击服务器端按钮会导致页面重新加载,这是您需要处理的(称为回发)。这也意味着当您提供报告页面时,您必须为电子邮件传递一些 ID 并检查用户,因此当您调用第二个页面时,您需要向它传递一些 id 以便它可以工作。我花了更多时间在这个上,因为它是 asp.net 和 windows 窗体之间最重要的区别。

    5- 为了限制对您的电子邮件设置页面的访问,如果这是一个 Intranet 站点,您可能需要使用 Windows 身份验证;如果这是一个 Internet 站点,您可能需要使用 Forms 身份验证。查看Starting ASP.NET Forms Authentication 了解一些基本概述。

    6- ASP.Net 有一个代码隐藏文件,您可以在其中编写实际代码,还有一个 .aspx 页面,您可以在其中放置 html 标记、javascript、样式和带有 标记的数据绑定。

    7- 您可能还必须使用 IIS 才能使您的网站正常运行,除非您在一个由特定人员负责的非常正式的地方工作。在最基本的情况下,您必须创建一个应用程序池,使其与 32/64 位兼容并在 IIS 中设置身份验证。

    【讨论】:

      猜你喜欢
      • 2020-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      相关资源
      最近更新 更多