我对我的项目有这个要求。已经有一个现有的Windows窗体应用程序, 单击按钮时发送电子邮件。应用程序背后有很多代码。 它通过连接到数据库验证字段序列号是一个文本框。 验证错误弹出另一个窗体。 它会在发送电子邮件后生成报告表单。有一个配置按钮,只有特定用户才能访问,打开配置表格,其中包含电子邮件设置的详细信息。
现在所有这些都是使用Windows窗体开发的。我的新要求是我需要发展 在具有类似功能的ASP.NET网页中也是如此。 我尝试使用Click click部署,但这不是他们需要的。他们希望将其作为网页。
是否有任何工具或方法可以在ASP.NET网页中显示该应用程序? 我是否需要从头开始编码?
提前致谢
答案 0 :(得分:0)
至于雷克斯所说的,你将不得不从头开始。它背后的编码是不同的。验证和函数在asp.net中的工作方式与在.net中的工作方式不同。
答案 1 :(得分:0)
出于上述原因,您必须从头开始。如果这是你的第一个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重新加载页面之间保留信息。当你传递2页之间的值时,第一个不再存在,所以你不能像往常一样做Class.somemember变量。查看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中设置身份验证。