³õ̽ASP NET MVC Web Application
1. ʹÓÃVisual Studio 2008,ÏÂÔØASP.NET MVC Framework
2. ĬÈϵÄASP.NET MVC Project°üÀ¨6¸öĿ¼
Controls – ·ÅÖÃController À࣬´¦ÀíURL ÇëÇó¡£
Models – ·ÅÖÃÒµÎñʵÌåÀ࣬±íʾºÍ²Ù×÷Êý¾Ý¡£
Views – ·ÅÖÃUI Ä£°åÎļþ£¬¸ºÔðչʾÊä³ö½á¹û¡£
£¨MVCÖ÷ÒªµÄĿ¼£©
Scripts – ·ÅÖÃJavascript Àà¿âÎļþºÍ.js Îļþ¡£
Contents – ·ÅÖÃCSS ºÍͼÏñÎļþ£¬ÒÔ¼°ÆäËû·Ç¶¯Ì¬µÄ¡¢·ÇJavascript Îļþ¡£
App_Data – ·ÅÖÃÊý¾Ý¿âÎļþ¡£
Of course, you can change this folder structure, ie.Model into a separate dll.
3.Controllers and Views.
´«Í³µÄWeb Framework,¶¼ÊÇ°ÑURLÓ³ÉäΪÎļþ(*.aspx).¶øMVCÔòÊÇ°ÑURLÓ³Éäµ½Controller ClassµÄMethodÉÏ¡£
Controller Class¸ºÔð´¦ÀíHTTP Request,¼ìË÷Óû§ÊäÈ룬Ȼºó¾ö¶¨ÈçºÎ¸ø¿Í»§ÏìÓ¦¡£
4.ÈçºÎÀí½âASP.NET MVC µÄRouting
¿ÉÒÔ¶¨ÖÆÑ¡ÔñÄĸöControllerÀ࣬ÒÔ¼°Äĸö·½·¨£¬ÒÔ¼°´ÓURL/Querystring×Ô¶¯µÃµ½²ÎÊýÐÅÏ¢£¬²¢ÇÒ´«µÝ¸øMethod£¬²¢ÇÒ·ÓÉÐÅÏ¢
Ò²ÊÇͨ¹ýSEO(Search Engine Optimization)¡£
ĬÈϵÄ·ÓÉÐÅÏ¢ÔÚGlobal.asaxµÄRegisterRoutes();
{
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL w/ params
new { controller="Home", action="Index",id="" } // Param defaults
);
}
URLµÄ¸ñʽΪ£º/{controller}/{action}/{id}.ActionÊÇPublic Method.Controller Class, IDÊÇActionµÄ²ÎÊý¡£
5. °ÑControllerºÍView·ÖÀ룬×î´óµÄºÃ´¦ÊÇ¿ÉÒÔ¶ÔÓ¦ÓóÌÐòµÄÂß¼½øÐÐUnit testing.
public class XXXController : Controller
{
public ActionResult Index()
{
var dinners = GetDinners();
return new View("Index", dinners);
}
}
View·½·¨µÄÔÐÍÈçÏ£º
ViewResult View(string viewName, object model);
µÚÒ»¸ö²ÎÊýÊÇviewÄ£°åÎļþ,µÚ¶þ¸ö²ÎÊýÊÇ´«µÝÊý¾ÝµÄModel ¶ÔÏó¡£
6. ÔÚViewÖд´½¨Hyper Link£¬Á½ÖÖ·½·¨£¬Ò»ÖÖÊÇ´«Í³µÄ
<a href="Dinners/Details<%=dinner.id%">
µÚ¶þÖÖÊÇASP.NET MVCÄÚÖõÄhtml.ActionLink()·½·¨
<%= Html.ActionLink(dinner.Title, "Details", new { id=dinner.DinnerID }) %>
µÚÒ»¸ö²ÎÊýÏÔʾµÄÄÚÈÝ£¬µÚ¶þ¸ö²ÎÊýÊÇControllerµÄAction ·½·¨£¬µÚÈý¸ö²ÎÊýÊÇActionµÄ²ÎÊý¡£
Ïà¹ØÎĵµ£º
Ç°¶Îʱ¼ä¶ÁÁ˲»ÉÙ¹ØÓÚMVCµÄÎÄÕ£¬ÊÔ×ÅÔÚASPÖÐÓ¦ÓÃÁËһϣ¬·¢ÏÖ¶ÔÓÚС³ÌÐò£¬´úÂëÁ¿»á´ó·ù¶ÈÔö¼Ó£¬µ«ÊÇÂß¼ÇåÎú£¬Êý¾Ý·â×°ºÜºÏÀí£¬ÒÔÇ°ÐèÒª×Ðϸ¹æ»®µÄ´úÂ븴Óþ¹È»³ÉÁËÀíËùµ±È»µÄÊÂÇé¡£
ËùνMVC£¬¼´Model£¨Ä£ÐÍ£©£¬View£¨ÊÓͼ£©£¬Control£¨¿ØÖÆ£©Èý²ã¼Ü¹¹¡£¸÷²¿·Ö¸÷˾ÆäÖ°£¬Model¼´µ×²ã¹¹¼Ü£¬°üº¬ÓëÊý¾Ý¿âÁ¬½ÓµÄ²¿·Ö£¬View ......
ÏàÐÅÎÒµÄ,Ö»ÓÐÎÒ²ÅÕæÕýµØÕÒ¹ý´ð°¸,ÆäËü¶¼ÊÇÂÒ³µÄ,ʵÄܽâ¾öµ½ÄãµÄÎÊÌâ,Ç°¸öÔÂÎÒ»¹ÔÚ¿àÕÒ´ð°¸,Ò²ÒÑÊÔÑé¹ýN´Î,×îºó³É¹¦ÁË,ÍøÉÏÒ²ÓиÄÄǸöʲôÕÊ»§µÄ,ÄǸöʵÔÚÌ«ÄÑÁË.
°´Îҵķ½·¨,Ç°ÌáÊÇÒ»,ϵͳÊÇXP,ÆäËüϵͳ²»¸Ò°ü.¶þ,ÄãûÓÐ×ö¹ýÆäËüÉèÖÃ.
Ö÷ÒªÊÇÕÊ»§È¨ÏÞÎÊÌâ.
´ò¿ª“¹ÜÀí¹¤¾ß”->“×é¼þ·þÎñ”- ......
1,Q:ÔõÑù°Ñ±ðÈËÍøÒ³Éϵı³¾°ÒôÀÖ±£´æÏÂÀ´?
A:ä¯ÀÀ¸ÃÍøÒ³ºó,ÔÚÄãµÄ Windows\Temporary Internet Files Îļþ¼ÐÏ¿ÉÒÔÕÒµ½¸Ã±³¾°ÒôÀֵĻº´æÎļþ£¬¿½±´³öÀ´¼´¿ÉʹÓá£Èç¹û»¹ÊÇÕÒ²»¼û¸ÃÎļþ£¬¿ÉÒÔ´ò¿ªÍøÒ³µÄÔ´Îļþ£¬ÕÒµ½ÒôÀÖÎļþµÄ URL ·¾¶£¬ÓÓÂìÒÏ”µÈ FTP Èí¼þ½øÐÐÏÂÔØ¡£
2,Q:±ÜÃâÓ ......
asp Http_Referer,Server_NameºÍHttp_Host
ÒÔÇ°¸Ð¾õRequest.ServerVariablesÀïµÄÖµºÜ¶à£¬ÏÖÔÚ¿´¿´»¹ÊÇÄÇô¶à£¬²»¹ý½ñÌì̸ÆäÖеÄÒ»¸öÖµ----HTTP_RefererÒÔ¼°Request.ServerVariablesÀïServer_NameÓëHttp_HostÖ®¼äÓÐʲôÇø±ðÄØ£¿
¸Õ²ÅÔËÐÐÁËÒ»¶Î´úÂ룬À´²é¿´Request.ServerVariablesÀïÃæÓжàÉÙÖµ£¬¿´ÁËһϣ¬¹²50¸ö£¡
´úÂ ......
Èçid="a/b/c/asdf.html" ²ÎÊýΪ¶¯Ì¬
Ôõô°ÑºóÃæµÄasdf.html¹ýÂË?ʹid="a/b/c/"?
Èç¹ûidµÄ¸ñʽһ¶¨Îª "????/????/??????/xxxx.xxx"
¼´×îºóËùÒª¹ýÂ˵ôµÄÒ»¶¨ÊÇ×îºóÒ»¸ö"/"Ö®ºóµÄÄÚÈÝ
¿ÉÒÔÓÃÈçÏ·½·¨:
<%
URL="a/b/c/asdf.html"
PartOfURL=split(URL,"/") '½«×Ö·û´®ÒÔ"/"·Ö¸î
UnNeed=spli ......