Part 8: Final Pages, Exception Handling, and Conclusion 其它页面、异常处理、总结
By Joe Stagner |July 21, 2010
Tailspin Spyworks demonstrates how extraordinarily simple it is to create powerful, scalable applications for the .NET platform. It shows off how to use the great new features in ASP.NET 4 to build an online store, including shopping, checkout, and administration.
通过Tailspin Spyworks 演示在.NET平台创建功能强大,结构良好的应用程序有多么简单。演示如何使用ASP.NET 4的新特性创建一个包含购物、结算和管理功能的在线网店。
This tutorial series details all of the steps taken to build the Tailspin Spyworks sample application. Part 8 adds a contact page, about page, and exception handling. This is the conclusion of the series.
本系列指南对构建案例程序的每一步做了详细的解释。第八部分添加联系页面、关于页面和异常处理,也是对整个系列的总结。
联系页面(从Asp.net发送Email)
Create a new page named ContactUs.aspx
创建名为ContactUs.aspx的页面
Using the designer, create the following form taking special note to include the ToolkitScriptManager and the Editor control from the AjaxdControlToolkit. .
使用Ajax控件包设计如下页面:
Double click on the "Submit" button to generate a click event handler in the code behind file and implement a method to send the contact information as an email.
双击“提交”按钮,生成点击事件处理函数,在其中完成发送email的功能。
protected void ImageButton_Submit_Click(object sender, ImageClickEventArgs e) { try { MailMessage mMailMessage = new MailMessage(); mMailMessage.From = new MailAddress(HttpUtility.HtmlEncode(TextBoxEmail.Text)); mMailMessage.To.Add(new MailAddress("Your Email Here")); // mMailMessage.Bcc.Add(new MailAddress(bcc)); // mMailMessage.CC.Add(new MailAddress(cc)); mMailMessage.Subject = "From:" + HttpUtility.HtmlEncode(TextBoxYourName.Text) + "-" + HttpUtility.HtmlEncode(TextBoxSubject.Text); mMailMessage.Body = HttpUtility.HtmlEncode(EditorEmailMessageBody.Content); mMailMessage.IsBodyHtml = true; mMailMessage.Priority = MailPriority.Normal; SmtpClient mSmtpClient = new SmtpClient(); mSmtpClient.Send(mMailMessage); LabelMessage.Text = "Thank You - Your Message was sent."; } catch (Exception exp) { throw new Exception("ERROR: Unable to Send Contact - " + exp.Message.ToString(), exp); }}
This code requires that your web.config file contain an entry in the configuration section that specifies the SMTP server to use for sending mail.
此代码需要在Web.config文件中包含指明配置,在配置中设置发送邮件使用的SMTP服务器。
<system.net> <mailSettings> <smtp> <network host="mail..com" port="25" userName="" password="" /> </smtp> </mailSettings> </system.net>
关于页面
Create a page named AboutUs.aspx and add whatever content you like.
创建名为AboutUs.aspx的页面,添加你想添加的任何内容。
全局异常处理
Lastly, throughout the application we have thrown exceptions and there are unforeseen circumstances that cold also cause unhandled exceptions in our web application.
在程序中会出现无法预期的异常,需要添加异常处理。
We never want an unhandled exception to be displayed to a web site visitor.
我们绝不希望网站访问者看到这样的异常信息:
Apart from being a terrible user experience unhandled exceptions can also be a security problem.
抛开这将是很恐怖的用户体验不说,还会带来安全问题。
To solve this problem we will implement a global exception handler.
为了解决这个问题,我们将实现一个全局异常处理器。
To do this, open the Global.asax file and note the following pre-generated event handler.
打开Global.asax文件,注意如下自动生成的代码:
void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled error occurs }
Add code to implement the Application_Error handler as follows.
添加如下代码:
void Application_Error(object sender, EventArgs e) { Exception myEx = Server.GetLastError(); String RedirectUrlString = "~/Error.aspx?InnerErr=" + myEx.InnerException.Message.ToString() + "&Err=" + myEx.Message.ToString(); Response.Redirect(RedirectUrlString); }
Then add a page named Error.aspx to the solution and add this markup snippet.
添加名为Error.aspx的页面,添加如下标记:
<center> <div class="ContentHead">ERROR</div><br /><br /> <asp:Label ID="Label_ErrorFrom" runat="server" Text="Label"></asp:Label><br /><br /> <asp:Label ID="Label_ErrorMessage" runat="server" Text="Label"></asp:Label><br /><br /></center>
Now in the Page_Load event handler extract the error messages from the Request Object.
在Page_Load事件处理器实现现实错误信息。
protected void Page_Load(object sender, EventArgs e){ Label_ErrorFrom.Text = Request["Err"].ToString(); Label_ErrorMessage.Text = Request["InnerErr"].ToString();}
总结
We've seen that that ASP.NET WebForms makes it easy to create a sophisticated website with database access, membership, AJAX, etc. pretty quickly.
Hopefully this tutorial has given you the tools you need to get started building your own ASP.NET WebForms applications!
通过此指南可以看出使用ASP.NET创建一个包含数据访问、成员机制、AJAX等功能的复杂的站点是多么的简单。希望此指南对你有所帮助!

htmltagsareessentialforsenteringwebpages,增强辅助性,seo和Performance.1)他们areAnclosedInangleBracketSandInpairStocrateAteAhierArchical.2)samantictagsictagsatagslikslikroikreveuseerexperienceencperienceandseo.3)

self-closingtagsinhtmlandxmlaretagsthatclosethem hexpthementneedingAseparateCloseTag,SightifyingmarkingmarkupStrupupStruptoReanDenhancingCodingsifice.1)shemeSsentialInxmmllforelementsswithcontentsswithcontent contentcontent,可确保wellwell-formedDocuments.2)Inhtmlible5,inhtmlibut forfix

要构建一个功能强大且用户体验良好的网站,仅靠HTML是不够的,还需要以下技术:JavaScript赋予网页动态和交互性,通过操作DOM实现实时变化。CSS负责网页的样式和布局,提升美观度和用户体验。现代框架和库如React、Vue.js和Angular,提高开发效率和代码组织结构。

布尔属性是HTML中的特殊属性,不需要值即可激活。1.布尔属性通过存在与否控制元素行为,如disabled禁用输入框。2.它们的工作原理是浏览器解析时根据属性的存在改变元素行为。3.基本用法是直接添加属性,高级用法可通过JavaScript动态控制。4.常见错误是误以为需要设置值,正确写法应简洁。5.最佳实践是保持代码简洁,合理使用布尔属性以优化网页性能和用户体验。

HTML代码可以通过在线验证器、集成工具和自动化流程来确保其清洁度。1)使用W3CMarkupValidationService在线验证HTML代码。2)在VisualStudioCode中安装并配置HTMLHint扩展进行实时验证。3)利用HTMLTidy在构建流程中自动验证和清理HTML文件。

HTML、CSS和JavaScript是构建现代网页的核心技术:1.HTML定义网页结构,2.CSS负责网页外观,3.JavaScript提供网页动态和交互性,它们共同作用,打造出用户体验良好的网站。

HTML的功能是定义网页的结构和内容,其目的在于提供一种标准化的方式来展示信息。1)HTML通过标签和属性组织网页的各个部分,如标题和段落。2)它支持内容与表现分离,提升维护效率。3)HTML具有可扩展性,允许自定义标签增强SEO。

HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

记事本++7.3.1
好用且免费的代码编辑器