ASP.NET MVC ÈëÃÅ4¡¢ControllerÓëAction
±¾ÏµÁÐÎÄÕ»ùÓÚASP.NET MVC Preview5.
ControllerÊÇMVCÖбȽÏÖØÒªµÄÒ»²¿·Ö¡£¼¸ºõËùÓеÄÒµÎñÂß¼¶¼ÊÇÔÚÕâÀï½øÐд¦ÀíµÄ£¬²¢ÇÒ´ÓModelÖÐÈ¡³öÊý¾Ý¡£ÔÚASP.NET
MVC
Preview5ÖУ¬½«ÔÀ´µÄControllerÀàÒ»·ÖΪ¶þ£¬·ÖΪÁËControllerÀàºÍControllerBaseÀà¡£ControllerÀà
¼Ì³Ð×ÔControllerBaseÀ࣬¶øControllerBaseʵÏÖÊÇÁËIController½Ó¿Ú¡£
ControllerBaseʵÏÖÁËIController½Ó¿ÚµÄExecute·½·¨£¬ÔÚRouteÆ¥Åäµ½ControllerÖ®ºó£¬¾Í»áµ÷ÓÃ
Execute·½·¨À´½øÈëControllerµÄ´¦Àí¡£ÕâÀﻹ¶¨ÒåÁËÒ»¸ö³éÏóµÄ·½·¨ExecuteCore·½·¨£¬¸Ã·½·¨»áÔÚExecute·½·¨µÄ×îºó±»µ÷
Óá£ControllerBase»¹¶¨ÒåÁËÈý¸öºËÐĵÄÊôÐÔ¡£ÎÒÃÇÔÚºóÃæ»áÏêϸÌÖÂÛTempDataºÍViewData¡£
ControllerÀà³ýÁ˼̳Ð×ÔControllerBaseÀàÒÔÍ⣬»¹ÊµÏÖÁ˺ü¸¸öFilter½Ó¿Ú£¬FilterÎÒÃÇÔÚºóÃæÔÙÏêϸÌÖÂÛ¡£
public
abstract
class
Controller :
ControllerBase, IActionFilter, IAuthorizationFilter, IDisposable,
IExceptionFilter, IResultFilter{ }
ControllerÀ໹¶¨ÒåºÜ¶àÓÐÓõķ½·¨£¬ÎÒÃÇн¨µÄController¶¼±ØÐë¼Ì³Ð×ÔÕâ¸öControllerÀà¡£ÀýÈçÎÒÃÇн¨Ò»¸ö
AdminController£º
public
class
AdminController : Controller
{
}
Action·½·¨
ÏÂÃæÌ¸Ò»ÏÂÔÚControllerÖбȽÏÖØÒªµÄAction·½·¨¡£ÔÚASP.NET
MVCÖÐURL¶¼ÊÇÓ³Éäµ½ControllerÖеÄij¸öActionÖУ¬È»ºóÓÉÆ¥ÅäµÄActionÀ´´¦ÀíÎÒÃǵÄÒµÎñÂß¼²¢·µ»ØviewµÄ¡£
ControllerÖеÄpublicµÄ·½·¨¶¼±»µ±×÷ÊÇAction·½·¨¡£Action·½·¨Í¨³£·µ»ØÒ»¸öActionResultµÄ½á¹û¡£ÀýÈçÎÒÃÇ
ÎªÇ°ÃæµÄAdminController¶¨ÒåÒ»¸öSettingµÄAction·½·¨£¬ÓÃÓÚÉèÖÃBlogµÄһЩ»ù±¾²ÎÊý£º
public
class
AdminController : Controller
{
public
ActionResult Setting()
{
throw
new
NotImplementedException();
}
}
ĬÈÏÇé¿öÏ£¬Action·½·¨µÄ·½·¨Ãû¾ÍÊÇÕâ¸öActionµÄActionÃû(ActionÃûÖ¸µÄÊÇRouteÖÐÆ¥ÅäAction·½·¨µÄURLµÄÄÇ
²¿·Ö¡£ÀýÈçurl£ºHome/Index£¬ÆäÖÐIndex¾ÍÊÇActionÃû)¡£ÕâÀïΪʲôҪÌáµ½Õâ¸öActionÃûÄØ£¿Ó¦ÎªActionÃûÊÇ¿ÉÒÔ¶¨Òå
µÄ£¬Ê¹ÓÃActionNameAttributeÀ´¶¨Òå¡£Çë¿´ÏÂÃæµÄʾÀý£º
public
ActionResult Setting()
{
throw
new
NotImplemen
Ïà¹ØÎĵµ£º
ÔÚ´´½¨ÍøÕ¾ÖУ¬³£³£»áʹÓõ½Éí·ÝÑéÖ¤¡£asp.netÖÐÄÚÖÃÁ˼¸ÖÖÉí·ÝÑéÖ¤µÄ·½Ê½£¬ÈçWindows¡¢froms¡¢PassportµÈ¡£Õ⼸ÖÖÉí·ÝÑéÖ¤µÄ·½Ê½¸÷Óв»Í¬¡£
Ò»°ãÀ´Ëµ£¬ÍøÕ¾µÄÉí·ÝÑéÖ¤·½Ê½¶¼»á¾¹ýÒÔϼ¸¸ö²½Ö裺
1¡¢ÊäÈëÓû§ÃûºÍÃÜÂ룬µ¥»÷È·¶¨°´Å¥¡£
2¡¢ÔÚºǫ́ÅжÏÓû§ÃûºÍÃÜÂëÊÇ·ñÕýÈ·£¬Èç¹û´íÎó·µ»ØÌáʾ£»Èç¹ûÕýÈ·£¬½øÈë¿É·ÃÎʵÄÒ ......
private void WriteXML()
{
StringBuilder sb = new StringBuilder();
sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?> ");
sb.Append(" <!-- ");
sb.Append("<content>");
sb.Append(& ......
Ö÷ÒªÀࣺ
¡¡¡¡System.Web.HttpRuntime
¡¡¡¡System.Web.HttpApplicationFactory
¡¡¡¡System.Web.HttpApplication
¡¡¡¡System.Web.Compilation.BuildManager
¡¡¡¡System.Web.Compilation.ApplicationBuildProvider
¡¡¡¡System.Web.Compilation.BuildProvidersCompiler
¡¡¡¡System.Web.UI.PageHandlerFactory
¡¡¡¡ÇëÇó ......
×î½ü¿ª·¢ÖÐÔÚÒ³ÃæÖ®¼ä´«µÝÖµµÄ¹ý³ÌÖУ¬¶à´¦Ó¦ÓÃÁ˳¬Á´½Ó´«ÖµµÄ·½Ê½¡£µ«Êǵ±´«µÝµÄ²ÎÊýÖк¬ÓÐÖÐÎÄ×Ö·ûʱ£¬ÔÚµ÷ÓÃRequest.QueryString[]·½·¨½ÓÊÕ²ÎÊýʱ£¬×ÜÊdzöÏÖ´íÎ󣬶øÇÒ´íÎóµÄ³öÏÖ×ÜÊÇËæ»úµÄ¡£±íÏÖΪ½ÓÊÕµÄÖÐÎIJÎÊý²»È«£¬ºó¼ÓͨÅä·û“£¿”£¬»òÕß°ÑÖÐÎIJÎÊýºóµÄÄǸö²ÎÊýºÍÖÐÎIJÎÊý»ìÔÚÒ»Æð£¬²»¼ÓÇø·Ö¡£
& ......