ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第六篇:******
System.Web; 5using System.Web.Mvc; 6using System.Web.Mvc.Ajax; 7using MVCDemo.Models; 8using MVCDemo.Models.Interfaces; 9using MVCDemo.Models.Entities; 10using MVCDemo.Controllers.Filters; 11 12namespace MVCDemo.Controllers 13{ 14 public class AnnounceController : Controller 15 { 16 public ActionResult Release() 17 { 18 ICategoryService cServ = ServiceBuilder.BuildCategoryService(); 19 List<CategoryInfo> categories = cServ.GetAll(); 20 ViewData["Categories"] = new SelectList (categories, "ID", "Name"); 21 return View("Release"); 22 } 23 24 [LoggerFilter()] 25 [ExceptionFilter()] 26 public ActionResult DoRelease() 27 { 28 AnnounceInfo announce = new AnnounceInfo() 29 { 30 ID = 1, 31 Title = Request.Form["Title"], 32 Category = Int32.Parse (Request.Form["Category"]), 33 Content = Request.Form["Content"], 34 }; 35 36 IAnnounceService aServ = ServiceBuilder.BuildAnnounceService(); 37 aServ.Release(announce); 38 39 ViewData["Announce"] = announce; 40 41 System.Threading.Thread.Sleep(2000); 42 ViewData["Time"] = DateTime.Now; 43 System.Threading.Thread.Sleep(2000); 44 45 return View("ReleaseSucceed"); 46 } 47 } 48} 看到没有,只要在DoRelease上写这么两个Attribute,一切就完成了,至于什么时候该调用什么******, 都是框架帮你完成了。注意一点,为了让我们看出******的时序,我们在DoRelease中加了一点东西,就是加了一个ViewData ["Time"],里面记录了执行此Action的时间,因为日志******在前后都会记录时间,我们通过比较时间就可以看出执行顺序了。至 于那两个Sleep则是让效果更明显的,这行代码的意思是让程序在这里延迟2秒。 要执行这个程序,我们还要改一下 ReleaseSucceed.aspx视图,其实就是加几个地方显示ViewData里相应的数据。 ReleaseSucceed.aspx:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |