ãªãã§ãããªããšïŒ
ãããã®é©æ°ã®1ã€ã¯ã.NETãã©ãããã©ãŒã çšã®Model-View-Controllerãã³ãã¬ãŒãã®å®è£ ã§ããASP.NET MVCã§ãã ãããäœã§ããã®ãããªããããå¿ èŠãªã®ããç解ããç§ãã¡ã®ç¥èãã·ã³ãã«ã ãå®éã®ã¢ããªã±ãŒã·ã§ã³ã«é©çšããŠã¿ãŸãããã
MVCã®ä»çµã¿
Model-View-Controllerã®ã¢ãŒããã¯ãã£ãã¿ãŒã³ã¯ãã¢ããªã±ãŒã·ã§ã³ãã¢ãã«ããã¥ãŒãã³ã³ãããŒã©ãŒã®3ã€ã®äž»èŠã³ã³ããŒãã³ãã«åå²ããããšãæå³ããŸãã :)ãããã®åã³ã³ããŒãã³ãã¯ããã®ã¿ã¹ã¯ãæ åœããŸãã äžè¬çã«èšãã°ïŒ
- ã¢ãã«ã¯åºæ¬çã«ãã¢ããªã±ãŒã·ã§ã³ã®ããžãã¹ããžãã¯å šäœã§ãã ããã«ã¯ãããŒã¿ïŒãšã³ãã£ãã£ïŒãåŠçããããããæäœããããŒã¿ããŒã¹ã«æžã蟌ã¿ãããããèªã¿åãã¯ã©ã¹ãšããšã³ãã£ãã£éã®çžäºäœçšãè¡ãã¯ã©ã¹ãå«ãŸããŠããŸãã ã¢ããªã±ãŒã·ã§ã³ãå°ããå Žåãããããããã«ããŠãããŒã¿ãåŠçããŸãã ãããžã§ã¯ãã倧ãããå€ãã®ããžãã¯ãå«ãŸããŠããå Žåã¯ãããžãã¯ãåãåºããŠãåå¥ã®ãããžã§ã¯ãïŒã¢ã»ã³ããªïŒã§ããŒã¿ãæäœããããšããå§ãããŸãã ãŸããéåžžã«å€§ããªã¢ããªã±ãŒã·ã§ã³ã«ééããå Žåãä»ã®ãµãŒããŒïŒã¢ããªã±ãŒã·ã§ã³ãµãŒããŒïŒã«ç©ççã«è»¢éããå¿ èŠããããŸãã
- ãã¥ãŒã¯ããŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ïŒUIïŒãæ åœããŸãã ãããéããŠãã¯ã©ã€ã¢ã³ãã«ããŒã¿ã衚瀺ããããããç·šéããããã®ã€ã³ã¿ãŒãã§ãŒã¹ãå®è£ ããŸãã ãããããã£ã¹ãã¬ã€ã«é¢é£ä»ããããŠãããã®ã®ã¿ã ããžãã¯ãªãïŒ
- ã³ã³ãããŒã©ã¯ãæåã®2ã€ã®ã³ã³ããŒãã³ãéã®ãªã³ã¯ã§ãã ã³ã³ãããŒã©ãŒã¯ãµãŒããŒãžã®ãªã¯ãšã¹ãã«é¢ããããŒã¿ãåä¿¡ããäœããã®æ¹æ³ã§ãã®ããŒã¿ãåŠçãïŒããšãã°ãéä¿¡ããããã©ãŒã ããå€ãåä¿¡ãïŒãããããã¢ãã«ã«æž¡ããŸãã ããŒã¿ãåŠçãŸãã¯åä¿¡ããåŸãã¯ã©ã€ã¢ã³ãã«ããŒã¿ã衚瀺ããæ£ç¢ºãªæ¹æ³ïŒç®çã®ãã¥ãŒïŒãéžæããŸãã
ããã¯ç§ãã¡ã«äœã圹ç«ãŠãŸããïŒ HTMLåºåãå®å šã«å¶åŸ¡ã§ããŸãã ãã軜ãã¢ããªã±ãŒã·ã§ã³ã TDDïŒãã¹ãé§åéçºïŒã®æ¯æè ã¯åãã§ããŸããMVCã§ã¯ããã®ã¢ãããŒããæ倧éã«æŽ»çšããŠãã»ãŒãã¹ãŠããã¹ãã§ããŸãã ãŸããããŒã¿ã®è¡šç€ºããããžãã¯ãå®å šã«åé¢ããŸãã 誰ããåã«ãæçµçã«ã¯ãã¹ãŠã人ã ã®ããã§ãããšèšãã ãã§ã誰ãããã¿ã³ãã¯ãªãã¯ãããã³ãã©ã§ããŒã¿ãæäœããããã®ã³ãŒããæžããªãããã«ãããèšç·ŽããŸãã ãšããã§ããã³ãã©ãŒã«ã€ããŠèšåããŸãããïŒ å¿ã㊠ããã¯ãããããŸããã ãã©ãŒã ããšã«ã€ãã³ããã³ãã©ãŒãViewStateãDrag'n'Dropã³ã³ãããŒã«ã¯ãããŸããã ã¯ããæã§ããã«ããŒãã³ãŒãã£ã³ã°ããå¿ èŠããããŸãã誰ãããããå®éã«ã©ã®ããã«åŠã³ãèŠã€ããããšãã§ããŸãã åæã«ãMVCã®æŠå¿µãšåçŽã«ççŸããæ©èœã倱ã£ãŠããäž»èŠãªæ©èœã倱ããŸããã§ããã èªç±ã«äœ¿ããã®ã¯ãMasterPagesãUserControlsãMembershipã§ãã äžè¬çã«ããã¹ãŠãäžèŠãããšæãããã»ã©æªãã¯ãããŸããã MVCã¯WebFormã眮ãæããŸããïŒ ããããWebFormsãåç¶ããé²åããŸãã MVCã¯ãã¢ããªã±ãŒã·ã§ã³ãç°ãªãæ¹æ³ã§äœæããããšãå¯èœã«ããŸãã 倧éã®ããŒã¿ãæäœããããGridViewã§ç·šéãããããããã®ã¢ããªã±ãŒã·ã§ã³ãããå ŽåãWebFormsã¯åŒãç¶ãé©åãªãœãªã¥ãŒã·ã§ã³ã§ãã MVCã䜿çšããŠããURLæžãæãã®åé¡ã¯ãã¹ãŠå¿ããŠããŸããŸãããã¡ãããããã¯WebFormsã®åé¡ã§ã¯ãªããããããŸããããMVCã®å Žåã¯ãã€ãã£ãæ©èœã§ãã
çè«ããå®è·µãžïŒ
å æ¥ãç§ã¯è¯ãå人ãããããžã§ã¯ãã«åºäŒããŸããã ããŒã¿ãã«ãšã¬ã¯ãããã¯ã¹ãµãŒãã¹ã»ã³ã¿ãŒã®æ°ããWebãµã€ããå¿ èŠã§ãã å€ãã§ãããå°ãã€ã©ã€ã©ããŸãã å®éãè€éãªãã®ã¯ãããŸããã5ã€ã®æ å ±ããŒãžãäŸ¡æ Œãš1Cãšã®çµ±åãåããæé ãªäŸ¡æ Œã®ã¢ã¯ã»ãµãªãŒã®ã«ã¿ãã°ã§ãã åŸè ã®ããã«ãçåãçããŸããã ããŒã¿ããŒã¹å šäœã¯1Cã§ç¶æãããŸããã¯ã©ã€ã¢ã³ãããŠã§ããµã€ãã«ã¢ã¯ã»ã¹ããŠé åæžã®çªå·ãå ¥åããä¿®çã®ã¹ããŒã¿ã¹ã確èªã§ããããã«ããããšèããŠããŸããæºåãã§ããŠããªããããã¹ãŠãä¿èšŒã®äžã§ä¿®çãããããäœãã«è¿œå æéãæ¯æãå¿ èŠããããŸã
ä»äºã®æºå
ãŸãã Microsoft Visual Studio 2008 ïŒç§ãééã£ãŠããªããã°Expressãšãã£ã·ã§ã³ãé©ããŠããã¯ãã§ãïŒ ã. NET Framework 3.5 ãããã³ASP.NET MVCèªäœãã€ã³ã¹ããŒã«ããå¿ èŠããããŸã ïŒå·çæç¹ã§ã¯ãã¬ãã¥ãŒ3ãå©çšå¯èœã§ãïŒã ãã¹ãŠã®ååãæ£åžžã«ã€ã³ã¹ããŒã«ããããããããžã§ã¯ããäœæããŸãã [ãã¡ã€ã«]-> [æ°èŠ]-> [ãããžã§ã¯ã...]éãããŠã£ã³ããŠã§ã[ãããžã§ã¯ãã®çš®é¡]ã§èšè¿°ããŠããèšèªãšWebãããžã§ã¯ãã®çš®é¡ãéžæããŸããææ¡ããããã³ãã¬ãŒãã®äžã§ãASP.NET MVC Webã¢ããªã±ãŒã·ã§ã³ãå¿ èŠã§ãã ç§ã®ãããžã§ã¯ãã¯ãITServiceããšåŒã°ããŸãã

次ã«ãã¢ããªã±ãŒã·ã§ã³ã®åäœãã¹ããããžã§ã¯ããäœæããããæ±ããããŸãããåäœãã¹ããããžã§ã¯ãã¯äœæããã«äœæããŸãã
ãã®çµæã次ã®åœ¢åŒã®ã¯ãªãŒã³ãªãããžã§ã¯ããåŸãããŸããã

ãã§ã«ããªãã¿ã®ãã£ã¬ã¯ããªãšãšãã«ãç§ãã¡ã«ã¯ãªãã¿ã®ãªããã®ãçŸããŸããã é çªã«è¡ããŸãããïŒ
/ãããã㣠-Webã¢ããªã±ãŒã·ã§ã³ã®æšæºãã£ã¬ã¯ããªããããžã§ã¯ãèšå®ãå«ãŸããŸãã
/åç § -ä»ã®ã¢ã»ã³ããªããããžã§ã¯ããªã©ãžã®ãªã³ã¯
/ App_Data-ããŒã¿ãä¿åããããã®ç¹å¥ãªãã£ã¬ã¯ããª
/ã³ã³ãã³ã -ãã®ãã£ã¬ã¯ããªã«ã¯ãç»åãã¹ã¿ã€ã«ãªã©ãä¿åããŸãã äžè¬ã«ããµã€ãã®ãã¹ãŠã®éçã³ã³ãã³ã
/ã³ã³ãããŒã©ãŒ -ã³ã³ãããŒã©ãŒã³ã³ããŒãã³ããæ åœããã¯ã©ã¹
/ã¢ãã« -ããžãã¯ãæã€ã¯ã©ã¹
/ãã¥ãŒ -ã¢ããªã±ãŒã·ã§ã³ã®UIãçŽæ¥ã åã³ã³ãããŒã©ãŒã®ãã£ã¬ã¯ããªã¯ããã®ãã£ã¬ã¯ããªã«äœæãããŸãïŒãã®äŸã§ã¯/ Views / HomeïŒã ãããŠãã³ã³ãããŒã©ã®åã¡ãœããã®aspxããŒãžã«æ¢ã«ãããŸãã
/ View / Shared -MasterPagesãUserControlsãªã©ããã¹ãŠã®ã³ã³ãããŒã©ãŒã«åœ¹ç«ã€ãã®ãå«ãŸããŠããŸãã
ããŠãå®è¡ããŠã¿ãŠãã ããïŒ åºæ¥äžããïŒ çµæãåŸãŸããïŒ

ãããã¡ãã¥ãŒã®ãªã³ã¯ãã¯ãªãã¯ããããã©ã«ãã§MVCã§URLãã©ã®ããã«æŽçãããŠãããã確èªããŸãã [About]ããŒãžã«ã¯ã localhostã¢ãã¬ã¹55515 / Home / AboutããããŸãïŒããŒãã¯ç°ãªãå ŽåããããŸãïŒã mysite {controller} / {action}ã®ãããªæ§é ã«ãªã£ãŠããããšãããããŸãã ã ãŸããããã¯ããªãè¯ãã§ãã
äœãå¿ èŠã§ãã
å ã»ã©èšã£ãããã«ãããã€ãã®æ å ±ããŒãžãã¢ã¯ã»ãµãªã®ã«ã¿ãã°ã1CããããŒã¿ãéåä¿¡ããç¹å¥ãªããŒãžãåãããµã€ããå¿ èŠã§ãã OKããŸãéçããŒãžãå®è£ ããMasterPageãã¬ã€ã¢ãŠãããå¿ èŠãªã¹ã¿ã€ã«ãèšè¿°ããŠãããããæ©èœãããããã«ããŸãã ãã¡ãããããè€éãªã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããžãã¹ããžãã¯ã®éçºããå§ããŠãããŒã¿ã®ä¿åæ¹æ³ãèããããããã¹ãŠæžããããããã€ã³ã¿ãŒãã§ãŒã¹ãç¶è¡ããå¿ èŠããããŸãã ãããããã®å Žåããããžã§ã¯ãã¯å°ããããããã®ã·ãŒã±ã³ã¹ã¯ç¡èŠã§ããŸãã
ã³ãŒããæžããšãã®ç掻ã楜ã«ãã
Site.masterãèŠããšãããšãã°cssãžã®ãã¹ãããã«çžå¯Ÿçã§ããããšãããããŸãã ../../Content/Site.cssã ããŒãžã®å ¥ãåãç°ãªãããªã³ã¯ã倱ããããããããã¯ç§ãã¡ã«ã¯é©ããŠããŸãããã«ãŒãããã®ãã¹ã§ä¿®æ£ããå¿ èŠããããŸãã CSSã®å Žåããã¡ãããã³ã§ç»é²ããããšãå¯èœã§ãããä»åŸã¯ãµã€ãã«ãåçããããŸãã ããªãé·ãéã®ããæžãã®ãã€ãŸããªããšãã¯ãã€ã§ããç§ãã¡ã¯ãã«ããŒãäœããŸãã Helpersãã©ã«ããŒãäœæãã次ã®ã³ãŒãã§AppHelperã¯ã©ã¹ãè¿œå ããŸãã
System.Web ãäœ¿çš ã
ãããªã㯠ã¹ã¿ãã£ã㯠ã¯ã©ã¹ AppHelper
{
ãããªã㯠éç æåå ContentRoot
{
åŸã
{
string contentVirtualRoot = "ã/ Content" ;
return VirtualPathUtility.ToAbsoluteïŒcontentVirtualRootïŒ;
}
}
ãããªã㯠éç æåå ImageRoot
{
get { return string .FormatïŒ "{0} / {1}" ãContentRootã "Images" ïŒ; }
}
ãããªã㯠éç æåå CssRoot
{
get { return string .FormatïŒ "{0} / {1}" ãContentRootã "Css" ïŒ; }
}
public static string ImageUrlïŒ string imageFileïŒ
{
string result = string .FormatïŒ "{0} / {1}" ãImageRootãimageFileïŒ;
çµæãè¿ã ;
}
ãããªã㯠éç æåå CssUrlïŒ string cssFileïŒ
{
string result = string .FormatïŒ "{0} / {1}" ãCssRootãcssFileïŒ;
çµæãè¿ã ;
}
}
ãã®äžã§ãéçããããã£ContentRootã宣èšããŸãã-ã³ã³ãã³ããžã®ãã¹ãç»åãšcssãã¡ã€ã«ã®ãããã£ã¬ã¯ããªãžã®ãã¹ãããã³2ã€ã®éçã¡ãœããImageUrlãšCssUrlã¯ããã¡ã€ã«åãååŸããã¢ããªã±ãŒã·ã§ã³ã§ããã«å¯Ÿå¿ãããã¹ãè¿ããŸãã ã¯ã©ã¹ã䜿çšããããã«ãSite.Masterã®ã¹ã¿ã€ã«ãæ¥ç¶ãããªã³ã¯ã¿ã°ã次ã®ããã«å€æŽããŸãã
< link href = "<ïŒ = AppHelper.CssUrlïŒ" Siteãcss "ïŒïŒ >" rel = "stylesheet" type = "text / css" />
ãããŠãSite.cssãäœæããããã£ã¬ã¯ããª/ Content / Cssã«ç§»åããããšãå¿ããªãã§ãã ãããéçã³ã³ãã³ãããã®ã¿ã€ãå¥ã«åããŸãã ãããžã§ã¯ããåã³ã³ãã€ã«ãããšããã¹ãæ£ããæžã蟌ãŸããŸãã
< link href = "/ Content / css / Site.css" rel = "stylesheet" type = "text / css" />
ãã®æ®µéã§ãç»åãšã¹ã¿ã€ã«ã·ãŒããžã®æ£ãããã¹ãèŠå®ãããã«ããŒãäœæããŸããã 次ã«ãäžè¬ã«HTMLãã©ã®ããã«äœ¿çšã§ããããããã³äœãããããã«æåŸ ãããŠããããèŠãŠãããŸãã
HTMLã¯ãŒã¯
ãã€ã¯ããœããã¯ãã³ãŒãèšè¿°ã容æã«ããããã«HtmlHelperãæäŸããŠããŸãã ããã¯ãå¿ èŠãªHTMLã¿ã°ãã¬ã³ããªã³ã°ã§ããéçã¡ãœããã®ã»ãããæã€ã¯ã©ã¹ã§ãã ããšãã°ãç»åã衚瀺ããã«ã¯ãåã«æžã
<ïŒ = Html.ImageïŒ "image.png" ã "Alt text" ïŒ ïŒ >
ããŒãžã§ã¯æ¬¡ã®ããã«ãªããŸã
< img src = "logo.png" alt = "Altããã¹ã" />
AppHelperã䜿çšããŠç»åãžã®ãã¹ãèšç®ããå Žåã次ã®ããã«èšè¿°ããŸãã
<ïŒ = Html.ImageïŒAppHelper.ImageUrlïŒ "logo.png" ïŒã "Alt text" ïŒ ïŒ >
ãã®ã³ãŒãã¯ãã§ã«æ£ããç»åãçæããç®çã®ãã¹ãèšè¿°ããŸãã
< img src = "/ Content / Images / logo.png" alt = "Altããã¹ã" />
ãã1ã€ã®èå³æ·±ãã¡ãœããã¯ãHtml.ActionLinkã§ãã
<ïŒ = Html.ActionLinkïŒ "About Us" ã "About" ã "Home" ïŒ ïŒ >
ãã®ã¡ãœããã¯ããAbout usããšããããã¹ããå«ããNomeãã³ã³ãããŒã©ãŒã®ãAboutãã¡ãœãããžã®ãªã³ã¯ãçæããŸã
Lambda Expressionsã䜿çšããŠããããã¢ãã³ããªæ段ã䜿çšããŠåãã³ãŒããèšè¿°ã§ããŸãã
<ïŒ = Html.ActionLink <ITService.Controllers.HomeController>ïŒx => x.AboutïŒïŒã "About Us" ïŒ ïŒ >
ããã§äœãèµ·ãã£ãŠãããã¯ãæ§æããæããã§ãã
å°ããªãã³ãïŒITService.Controllersåå空éãæ¯åæžã蟌ãŸãªãããã«ã < system.web > < pages > < namespaces >ã»ã¯ã·ã§ã³ã®web.configã«æžã蟌ã¿ãŸã ã
< åå空éã® è¿œå = "ITService.Controllers" />
çŸåšããããã®ãªã³ã¯ã¯çãæžãããšãã§ããŸãã
<ïŒ = Html.ActionLink <HomeController>ïŒx => x.AboutïŒïŒã "About Us" ïŒ ïŒ >
ãããšã¯å¥ã«ããã©ãŒã ã«èšåãã䟡å€ããããŸãã æ瀺çã«ååã«äœæ¥ããå¿ èŠããããŸãïŒãã¹ãããã¯ã¯ãããŸãããèŠããŠããŸããïŒïŒã æãåçŽãªãã©ãŒã ã¯æ¬¡ã®ããã«ãªããŸãã
<ïŒ using ïŒHtml.Form <HomeController>ïŒx => x.IndexïŒïŒïŒïŒ{ ïŒ >
<ïŒ = Html.TextBoxïŒ "name" ïŒ ïŒ >
<ïŒ = Html.SubmitButtonïŒ "cmdSend" ã "Submit" ïŒ ïŒ >
<ïŒ } ïŒ >
fromã¿ã°ã䜿çšããã«ã¯ãusingãã£ã¬ã¯ãã£ãã䜿çšããŠãã¹ã³ãŒãå ã®ãã¹ãŠã®ãã©ãŒã ãã£ãŒã«ããç»é²ããå¿ èŠããããŸãã ããã«ãããçµäºã¿ã°ãæäŸãããŸãã Html.Form宣èšïŒx => x.IndexïŒïŒïŒã¯ããã©ãŒã ãHomeControllerã®Indexã¡ãœããã«éä¿¡ãããããšã瀺ããŠããŸãã 圌ãã¯ããªãããŸããã£ãŠãããšæãã æåã«ãã³ãŒãã®HTMLãšãµãŒããŒã®éšåã®ãã®æ··åãèŠããšããç§ã¯ãã£ãšããŸããã誰ããæ¥ããšæããŸãã ããã«ã¡ã¯ããã®æ¥éšããã£ã±ãã ã£ãã¯ã©ã·ãã¯ASPã ãããããŸã ãããªã«æããªãã 圌ãšä»äºãå§ãããšããããã¯äžèŠãããšæããããã®ã§ã¯ãããŸããã ãããã®ããŒã«ã¯ãã¹ãŠéåžžã«åŒ·åã§ãã
ASP.NETã«ãŒãã£ã³ã°
ã«ãŒã¿ãŒãšã¯äœã§ããïŒ ã«ãŒã¿ãŒã䜿çšãããšããµãŒããŒäžã®ç©çãã¡ã€ã«ãæã瀺ããŠããªãURLãåŠçã§ããŸããã代ããã«ããã¹ã¯ã¢ããªã±ãŒã·ã§ã³ã§æ¢ã«äœ¿çšãããŠãããã©ã¡ãŒã¿ãŒã«è§£æãããŸãã ãã¹ã®ç¹å®ã®éšåãç¹å®ã®ã³ã³ãããŒã©ãŒãšãã®ã¡ãœããã«ãããã³ã°ããããšãã§ããŸãã ãã®ãããªã¢ãã«ã¯ããã©ã«ãã§äœ¿çšãããŸããã䟿å©ãªå¯Ÿå¿ãèšå®ã§ããŸãã äžæ¹ã§ãããã¯å€ãããããURLæžãæãã«äŒŒãŠããŸããããã¯æ¢ã«èšäºã§è©³çŽ°ã«èšè¿°ãããŠããŸãããããã¯äžæ¹ã§ã®ã¿ã§ãã ãããã¯å®éã«ã¯2ã€ã®ç°ãªããã®ã§ãã UrlRewritingã䜿çšããå Žåãmysite.com/products/product1ã®åœ¢åŒã®ã¯ãšãªã¯ãå®è¡æã«mysite.com/products.aspx?id=product1ã«å€æãããŸã ã æ¬æ¥ãURLæžãæãã«ãŒã«ã«æºæ ããURLãçæããããšã¯ã§ããŸããã ãããã£ãŠãã©ããã§ããžãã¯ãå€æŽããã¢ãã¬ã¹ãã¿ãŒã³ãå€æŽããå Žåããããã®URLããã³ã§çæããããã¹ãŠã®å Žæãç·šéããå¿ èŠããããŸãã MVCã§ã¯ãæž¡ããããã¹ãåé¡ãªã解æãããããå€æã¯çºçããŸããã
MVCã®ã«ãŒã¿ãŒã§ã®ãã¹ãŠã®äœæ¥ã¯ãGlobal.asax.csã«æŽçãããŠããŸãã ç§ãã¡ã®ãããžã§ã¯ããèŠãŠã以äžãèŠãŠã¿ãŸãããïŒ
routes.MapRouteïŒ
"Default" ã //ã«ãŒãå
"{controller} / {action} / {id}" ã //ãã©ã¡ãŒã¿ä»ãã®URL
new {controller = "Home" ãaction = "Index" ãid = "" } //ãã©ã¡ãŒã¿ã®ããã©ã«ã
ïŒ;
ã芧ã®ãšãããã¢ããªã±ãŒã·ã§ã³ãåäœããã«ãŒã¿ãŒã®ã³ã¬ã¯ã·ã§ã³ã«ç¬èªã®ãã®ãè¿œå ããŠããŸãã Defaultãšããååã§ãURLãã¹ã¯ãèŠå®ããããã©ã«ããã©ã¡ãŒã¿ãèŠå®ããå¿åã¿ã€ããäœæããŸãã å®è£ ã«çŽæ¥é²ããšãã«ãããã§å€æŽãè¡ããŸãã åæã«ãã¢ãã¬ã¹ãçæããããã®ãã®ãããªã¹ããŒã ã«æºè¶³ããŠããå Žåããªãããã§ã¯ãããŸãããïŒ ãã®ãŸãŸã«ããŠããã°ãæ©èœããŸãã
å§ãŸãã®çµãã
ããŠãããã¯åºè«ã§ãããASP.NET MVCãã©ãããã©ãŒã ã«é¢ããæãåºæ¬çãªæŠå¿µãæããã«ããããšããŸããã ã©ããã£ãŠæã«å ¥ããã®ããããªããå€æããã ç§èªèº«ã¯ãã®åéã®å°é家ã§ã¯ãããŸãããèªåã«ãšã£ãŠèå³æ·±ããã®ã«ãªããŸããããRuNetã«ã¯ãã®ãããã¯ã«é¢ããæ å ±ãã»ãšãã©ãªãããã人ã ãšå ±æããããšã«ããŸããã
ç§ã¯ãã¹ãŠã«ã€ããŠã®ããªãã®æèŠãç§ã«ãšã£ãŠéèŠã§ããããšã«æ³šæãããã®ã§ãã©ããªãã£ãŒãããã¯ã§ãéã«ãªããŸãã æ¹å€ãªããããã¯å»ºèšçãªãã®ã«ãªããšç¢ºä¿¡ããŠããŸã;ïŒ
次ã®èšäºã§ã¯ãæ³å®ãããã¢ããªã±ãŒã·ã§ã³ã®å®è£ ã«çŽæ¥é²ã¿ãŸãã ããå€ãã®ã³ãŒããããã§ãããã ãããŠãhabrã®ããã«ããã®ãããªãã©ãŒãããã§ç§ãåã°ããŸãã:)
*èšäºå ã®ãã¹ãŠã®ã³ãŒãã¯ã ãœãŒã¹ã³ãŒããã€ã©ã€ã¿ãŒã䜿çšããŠãå¯èœãªéã匷調衚瀺ãããŸããã