仓酷云
标题:
NET网页编程之详解ASP.NET MVC PRG数据考证
[打印本页]
作者:
老尸
时间:
2015-1-16 14:25
标题:
NET网页编程之详解ASP.NET MVC PRG数据考证
捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛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]
public
ActionResultDashboard(
string
userName,StoryListTabtab,OrderByorderBy,
int
?page){
//OtherCodes
return
View();}[AcceptVerbs(HttpVerbs.Post),ExportModelStateToTempData]
public
ActionResultSubmit(
string
userName,
string
url){
if
(ValidateSubmit(url)){
try
{_storyService.Submit(userName,url);}
catch
(Exceptione){ModelState.AddModelError(ModelStateException,e);}}
return
Redirect(Url.Dashboard());}
自界说了两个ActionFilter,阿,作者仿佛打错别字了。您别在乎。
<divclass="code"><OLclass=dp-xml>ModelStateTempDataTransferpublicabstractclassModelStateTempDataTransfer:ActionFilterAttribute{protectedstaticreadonlystring
Key
=
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){ModelStateDictionary
modelState
=
filterContext
.Controller.TempData[Key]asModelStateDictionary;if(modelState!=null){//OnlyImportifweareviewingif(filterContext.ResultisViewResult){
作者:
山那边是海
时间:
2015-1-18 14:31
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
作者:
愤怒的大鸟
时间:
2015-1-26 19:56
关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
作者:
精灵巫婆
时间:
2015-2-4 21:07
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
作者:
再现理想
时间:
2015-2-10 11:23
最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。
作者:
分手快乐
时间:
2015-3-1 13:03
关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
作者:
灵魂腐蚀
时间:
2015-3-10 18:06
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
作者:
老尸
时间:
2015-3-17 09:12
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
作者:
小妖女
时间:
2015-3-24 06:01
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2