windows窗体应用程序到网页应用程序

本文关键字:应用程序 网页 windows 窗体 | 更新日期: 2023-09-27 18:26:20

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

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

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

提前感谢

windows窗体应用程序到网页应用程序

至于Rex说了什么,你必须从头开始。它背后的编码不同。验证和功能在asp.net中的工作方式与在.net中不同。

由于前面提到的原因,您将不得不从头开始。如果这是你的第一个ASP.net应用程序,这里有一些你想做的提示:

1-为了验证和传输到电子邮件报告,您可以使用Response.RRedirect或Server.transfer或JavaScript以类似的方式工作。所有这些方法都有优缺点,请参阅Server.Transfer与Response.RRedirect以获取前两种方法的示例。对于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身份验证。有关一些基本概述,请参阅"启动ASP.NET窗体身份验证"。

6-ASP.Net有一个codeehind文件,您可以在其中编写实际代码,还有一个.aspx页面,您可以使用<%=%>在其中放置html标记、javascript、样式和数据绑定标签。

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