仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 756|回复: 8
打印 上一主题 下一主题

[学习教程] NET网页编程之详解ASP.NET MVC PRG数据考证

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:25:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。<p>我们这里将要谈到的是ASP.NETMVCPRG数据考证,次要是参考一些外洋关于PRG数据考证的文章,但愿对人人有所匡助。
我的理念:
既然是ASP.NETMVC,那就一定要用PRG。可是复杂的PRG不克不及在输出页面显现Html.ValidationMessage,另外一个就是之前的数据会被全体清空大概初始化了。
想一想要我是打了半天的字一下全没了那多惨啊。你的访客不气傻了才怪。
OK,Google一下,找到了http://weblogs.asp.net/rashid/archive/2009/04/01/asp-net-mvc-best-practices-part-1.aspx
阿,他叫甚么名字我不熟悉,我也看不懂英文的版权声明,以是这只要个链接没签名了。谁熟悉他叫他写个C#版大概VB.NET版的版权声明吧,感谢。
英文欠好没关系,间接看第13点:UsePRGPatternforDataModification 
<OLclass=dp-c>Controller[AcceptVerbs(HttpVerbs.Get),OutputCache(CacheProfile="Dashboard"),StoryListFilter,ImportModelStateFromTempData]publicActionResultDashboard(stringuserName,StoryListTabtab,OrderByorderBy,int?page){//OtherCodesreturnView();}[AcceptVerbs(HttpVerbs.Post),ExportModelStateToTempData]publicActionResultSubmit(stringuserName,stringurl){if(ValidateSubmit(url)){try{_storyService.Submit(userName,url);}catch(Exceptione){ModelState.AddModelError(ModelStateException,e);}}returnRedirect(Url.Dashboard());}
自界说了两个ActionFilter,阿,作者仿佛打错别字了。您别在乎。
<divclass="code"><OLclass=dp-xml>ModelStateTempDataTransferpublicabstractclassModelStateTempDataTransfer:ActionFilterAttribute{protectedstaticreadonlystringKey=typeof(ModelStateTempDataTransfer).FullName;}publicclassExportModelStateToTempData:ModelStateTempDataTransfer{publicoverridevoidOnActionExecuted(ActionExecutedContextfilterContext){//OnlyexportwhenModelStateisnotvalidif(!filterContext.Controller.ViewData.ModelState.IsValid){//Exportifweareredirectingif((filterContext.ResultisRedirectResult)||(filterContext.ResultisRedirectToRouteResult)){filterContext.Controller.TempData[Key]=filterContext.Controller.ViewData.ModelState;}}base.OnActionExecuted(filterContext);}}publicclassImportModelStateFromTempData:ModelStateTempDataTransfer{publicoverridevoidOnActionExecuted(ActionExecutedContextfilterContext){ModelStateDictionarymodelState=filterContext.Controller.TempData[Key]asModelStateDictionary;if(modelState!=null){//OnlyImportifweareviewingif(filterContext.ResultisViewResult){
山那边是海 该用户已被删除
沙发
发表于 2015-1-18 14:31:49 | 只看该作者
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-1-26 19:56:13 | 只看该作者
关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
精灵巫婆 该用户已被删除
地板
发表于 2015-2-4 21:07:57 | 只看该作者
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
再现理想 该用户已被删除
5#
发表于 2015-2-10 11:23:44 | 只看该作者
最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。
分手快乐 该用户已被删除
6#
发表于 2015-3-1 13:03:51 | 只看该作者
关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-10 18:06:20 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
老尸 该用户已被删除
8#
 楼主| 发表于 2015-3-17 09:12:25 | 只看该作者
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
小妖女 该用户已被删除
9#
发表于 2015-3-24 06:01:16 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 04:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表