ѧϰASP.NET + MVC£¨Èý£©
±¾ÎÄʾÀýÔ´´úÂë»òËØ²ÄÏÂÔØ
¡¡¡¡Ò».ÕªÒª
¡¡¡¡Ò»¸öUrlÇëÇó¾¹ýÁËRouting´¦Àíºó»áµ÷ÓÃControllerµÄAction·½·¨. ÖмäµÄ¹ý³ÌÊÇÔõÑùµÄ? Action·½·¨Öзµ»ØActionResult¶ÔÏóºó,ÈçºÎµ½´ïViewµÄ? ±¾ÎĽ«½²½âControllerµÄ»ù±¾Ó÷¨,¡¡ÉîÈë·ÖÎöControllerµÄÔËÐлúÖÆ, ²¢ÇÒÌṩÁË´´½¨ËùÓÐÀàÐÍActionµÄ´úÂë. ÖµµÃѧϰASP.NET MVCʱ²Î¿¼.
¡¡¡¡¶þ.³ÐÉÏÆôÏÂ
¡¡¡¡ÔÚÉÏһƪÎÄÕÂÖÐ, ÎÒÒѾѧ»áÁËÈçºÎʹÓÃRouting»ñÈ¡ControllerºÍAction, ËæºóµÄ³ÌÐò»áµ÷ÓÃControllerÖеÄAction·½·¨.
¡¡¡¡Ã¿¸öAction·½·¨¶¼Òª·µ»ØÒ»¸öActionResult¶ÔÏó. Ò»¸öAction»á½«Êý¾Ý´«µÝ¸øView,Èçͼ:
¡¡¡¡Èý.ControllerÓëActionµÄ×÷ÓÃ
¡¡¡¡1.Ö°Ôð
¡¡¡¡Controller¸ºÔ𽫻ñÈ¡ModelÊý¾Ý²¢½«Model´«µÝ¸øView¶ÔÏó.֪ͨView¶ÔÏóÏÔʾ.
¡¡¡¡2.ASP.NET MVCÖеÄControllerºÍAction
¡¡¡¡ÔÚASP.NET MVCÖÐ, Ò»¸öController¿ÉÒÔ°üº¬¶à¸öAction. ÿһ¸öAction¶¼ÊÇÒ»¸ö·½·¨, ·µ»ØÒ»¸öActionResultʵÀý.
¡¡¡¡ActionResultÀà°üÀ¨ExecuteResult·½·¨, µ±ActionResult¶ÔÏ󷵻غó»áÖ´Ðд˷½·¨.
¡¡¡¡ÏÂÃæ·Ö²ã´ÎµÄ×ܽáController ´¦ÀíÁ÷³Ì:
¡¡¡¡1. Ò³Ãæ´¦ÀíÁ÷³Ì
¡¡¡¡·¢ËÍÇëÇó –> UrlRoutingModule²¶»ñÇëÇó –> MvcRouteHandler.GetHttpHandler() –> MvcHandler.ProcessRequest()
¡¡¡¡2.MvcHandler.ProcessRequest() ´¦ÀíÁ÷³Ì:
¡¡¡¡Ê¹Óù¤³§·½·¨»ñÈ¡¾ßÌåµÄController –> Controller.Execute() –> ÊÍ·ÅController¶ÔÏó
¡¡¡¡3.Controller.Execute() ´¦ÀíÁ÷³Ì
¡¡¡¡»ñÈ¡Action –> µ÷ÓÃAction·½·¨»ñÈ¡·µ»ØµÄActionResult –> µ÷ÓÃActionResult.ExecuteResult() ·½·¨
¡¡¡¡4.ActionResult.ExecuteResult() ´¦ÀíÁ÷³Ì
¡¡¡¡»ñÈ¡IView¶ÔÏó-> ¸ù¾ÝIView¶ÔÏóÖеÄÒ³ÃæÂ·¾¶»ñÈ¡PageÀà-> µ÷ÓÃIView.RenderView() ·½·¨(ÄÚ²¿µ÷ÓÃPage.RenderView·½·¨)
¡¡¡¡Í¨¹ý¶ÔMVCÔ´´úÂëµÄ·ÖÎö,ÎÒÃÇÁ˽⵽Controller¶ÔÏóµÄÖ°ÔðÊÇ´«µÝÊý¾Ý,»ñÈ¡View¶ÔÏó(ʵÏÖÁËIView½Ó¿ÚµÄÀà),֪ͨView¶ÔÏóÏÔʾ.
¡¡¡¡View¶ÔÏóµÄ×÷ÓÃÊÇÏÔʾ.ËäÈ»ÏÔʾµÄ·½·¨RenderView()ÊÇÓÉControllerµ÷ÓõÄ,µ«ÊÇController½ö½öÊÇÒ»¸ö"Ö¸»Ó¹Ù"µÄ×÷ÓÃ, ¾ßÌåµÄÏÔʾÂß¼ÈÔÈ»ÔÚView¶ÔÏóÖÐ.
¡¡¡¡ÐèҪעÒâIView½Ó¿ÚÓë¾ßÌåµÄViewPageÖ®¼äµÄÁªÏµ.ÔÚControllerºÍViewÖ®¼ä»¹´æÔÚ×ÅIView¶ÔÏó.¶ÔÓÚASP.NET³ÌÐòÌṩÁËWebFormView¶ÔÏóʵÏÖÁËIView½Ó¿Ú.WebFormView¸ºÔð¸ù¾ÝÐéÄâĿ¼»ñÈ¡¾ßÌåµÄPageÀà,È»ºóµ÷Óà Page.Render
Ïà¹ØÎĵµ£º
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data.Common;
using System.Data;
namespace DownData.dal
{
public static class DBHelper
{
private stati ......
1.ͨ¹ýRewritePathʵÏÖÖØÐ´
URLÖØÐ´¿ÉÒÔͨ¹ý±à³ÌµÄ·½Ê½À´ÊµÏÖ¡£ASP.NETÖеÄContex.RewritePath()·½·¨¿ÉÒÔÈÃÄã´Ó³ÌÐòÖÐʵÏÖÖØÐ´ÇëÇóµÄURL¡£Ò»µ©ÖØÐ´ºó£¬ÏµÍ³½«Ê¹ÓÃеķ¾¶À´¼ÌÐøÖ´ÐÐÕâ¸öÇëÇó¡£
ÔÚGlobal.asaxÎļþµÄApplication_BeginRequest()·½·¨ÖУ¬ÄãÐèÒªÔö¼Ó´úÂëÀ ......
ÔÚWeb³ÌÐòÖУ¬ÎÒÃÇÖªµÀ£¬·þÎñÆ÷¶ËºÍIE¿Í»§¶Ë²»Êdz£Á¬µÄ£¬Ö»ÓзÃÎÊʱ²ÅÁ¬½Ó£¬Ò»µ©Ò³Ãæ¼ÓÔØÍêºó£¬Õâ¸öÁ¬½Ó¾Í»á¶Ï¿ª£¬Ò²¾ÍÊÇ˵£¬·ÃÎÊÒ³ÃæAºó£¬ÔÙ·ÃÎÊÒ³ÃæBʱ£¬·þÎñÆ÷¶ËÊDz»ÖªµÀÄãÒѾ·ÃÎʹýÒ³ÃæAÁË£¬ÉõÖÁ¶ÔÓÚͬһ¸öÒ³Ãæ£¬·þÎñÆ÷¶ËÒ²²»»áÈ¥¼Ç¼ÄãµÄ·ÃÎÊ£¬Ã¿´Î¶¼»áÖØÐÂʵÀý»°·ÃÎʵÄÒ³Ãæ¡£
Õâ¾Í´øÀ´Ò»¸öÎÊÌ⣬Èç¹ûʵÏÖÎÒ·ÃÎÊÁËLo ......
ASP.NET
MVCÌṩÁ˺ܶàHellperµÄ·½·¨£¬Hellper¾ÍÊÇһЩÉú³ÉHTML´úÂëµÄ·½·¨£¬·½±ãÎÒÃÇÊéдHTML´úÂë(ÓÐÒ»²¿·ÖµÄÅóÓѸüϲ»¶Ö±½ÓдHTML
´úÂë)¡£ÎÒÃÇÒ²¿ÉÒÔÀûÓÃ.NET 3.5µÄÀ©Õ¹·½·¨À´ÊéдÎÒÃÇ×Ô¼ºµÄHellper¡£
ÀýÈ磺
<%
=
Html.ActionLink(
"
Ê×Ò³
"
,
"
index
"
,
"
Home
"
......