我的理念:
既然是Asp.Net Mvc,那就肯定要用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点:Use PRG Pattern for Data Modification
}
自定义了两个ActionFilter,阿,作者好像打错别字了。您别在意。
}
}
因为我用的是VB.Net,直接拿工具转了放自己项目里,英文不懂照他的源代码套上去一试。
哈,成功了,可爱的Html.ValidationMessage来了。
但是还是没有解决数据被清空或初始化的问题。
这下惨了,Google也好,百度也好,还是在博客园里找这找那都没找着。我估计可能我找的方法不对吧,不然这么多人都碰到的问题怎么没人发出来呢。
最后在园子的小组里找到http://space.cnblogs.com/group/topic/7919/ 第三个回复有说ModelState.SetModelValue方法,拿过来一试,真不错。
所以修改了一下刚才所说的两个ActionFilter中的ExportModelStateToTempData;代码如下:
阿,最后说下,因为我用的VB.Net是不区分大小写的,所以我的每个参数都用p开头,临时变量用t开头,内部循环用f开头,客官将就着看吧。