Ext.NET 2.0ããŒã¿ã®ç°¡åãªçŽ¹ä»
èªè ã®çæ§ãExt.NETã®ãããªäŸ¿å©ã§äŸ¿å©ãªASP.NETãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠã話ããŸãããã æåãªJSãã¬ãŒã ã¯ãŒã¯-Sencha Ext JSã«åºã¥ããŠããŸãã å€ãã®ASP.NETéçºè ã®ç掻ãå€§å¹ ã«ä¿é²ããExt JSãç¿åŸãããããASP.NETã¢ããªã±ãŒã·ã§ã³ã«ãã蟌ãå¿ èŠããªããªããŸãã Ext.NETã¯äŸ¿å©ã§ã·ã³ãã«ãªã³ã³ãããŒã«ãæäŸããŸãããããã ãã§ã¯ãããŸããã ä»ã«ãå€ãã®äŸ¿å©ãªãã®ããããŸãããããã«ã€ããŠã¯åŸã§è©³ãã説æããŸãã
Ext.NET 2.0ããŒã¿ã®çŸåšã®ããŒãžã§ã³ã¯ãExt JS 4.1.0ã®ã»ãŒãã¹ãŠã®æ©èœãæäŸããããã€ãã®éåžžã«çŽ æŽããããã©ã°ã€ã³ãå«ãã§ããŸãã å®éã®ãããžã§ã¯ãã§Ext.NETã䜿çšããããšãèããŠããå Žåã¯ãExt.NET 1.3ã®ããŒãžã§ã³ã䜿çšããããšããå§ãããŸããExt.NET1.3ã¯ããå®å®ããŠãããã»ãšãã©æºè¶³ã§ãããã®ã§ã¯ãããŸããã ããã«æžãããŠããããšã®å€ãã¯ããã«é©çšãããŸããããããã®éã«äºææ§ã¯ãããŸããã ãŸã Ext.NET 2.0ããŒã¿çã䜿çšããããšã«æ±ºããå Žåã¯ãããŒã¿çãããŒã¯ãããšãããŒã¿çãæ°åå€æŽãããå¯èœæ§ããããå Žæã«ãã£ãŠã¯äžå®å®ã«ãªãããšãå¿ããªãã§ãã ããã ããããããã¯ãŸã Ext.NET 2.0ããŒã¿ã®ããŒãžã§ã³ã§ãããããã¯æªæ¥ã§ãããç 究ããå¿ èŠããããŸãã ãã®äžã§ãéçºè ã¯å€ãã®æ°ãããã®ãè¿œå ããŸãããå€æŽç¹ã®å®å šãªãªã¹ãã¯ããã§èŠãããšãã§ããŸã ã
ãªããããå¿ èŠãªã®ã§ããïŒ
æåã«ãèè ãæäŸããæãèå³æ·±ãäŸãèŠãŠã¿ãŸããããããã«ãããExt.NETã®åªããç¹ãç解ã§ããŸãã examples.ext.netããŒãžã«ã¢ã¯ã»ã¹ãããšã ãµã³ãã«ã®å€§ããªããªãŒã衚瀺ãããŸãã
ãã¹ã¯ããã->ã¯ããã«->æŠèŠãéžæããŸãã MS Windowsã®ãããªãã¹ã¯ãããå šäœã衚瀺ãããŸãã Windowsãã¹ã¿ãŒããã¿ã³ãã°ã©ãã£ãã¯ã¹ãªã©ãå©çšã§ããŸãã èå³æ·±ãæ©äŒã§ã¯ãããŸãããïŒ
次ã«ãCodeBehindã®Layout-> BorderLayout-> Complexã«æ³šæããŠãã ããã ãã®ãŠã£ã³ããŠã«èŠçŽ ã衚瀺ããããšã«é¢ãããã¹ãŠã®åé¡ã¯ãExt.NETã§ã«ããŒãããŠããŸãã ã¬ã€ã¢ãŠãããã©ãŠã¶éã®äºææ§ã«é¢ããåé¡ã«ã€ããŠã¯ã»ãšãã©å¿ããããšãã§ããŸããããããã¯ãã§ã«ããã§è§£æ±ºãããŠããŸãã
ç§ã¯ããã§äŸã§çµãããšæãããªããªã ãã®åŸãããªãã¯ãããèªåã§ç解ããŸãã ChartãDataViewãGridPanelãLayoutãMiscellaneousã®åã»ã¯ã·ã§ã³ã«ç¹ã«æ³šæããŠãã ããã
jQuery UIãTelerik Controlsãããã³åæ§ã®æ©èœãæäŸããä»ã®å€ãã®ã³ã³ãããŒã«ã»ããããããšãã«Ext.NETãå¿ èŠãªçç±ãèããå Žåã Ext.NETã«ã¯é·æãšçæããããŸãã é·æãèæ ®ããŠãã ããïŒ
- Ext.NETã䜿çšãããšãæ¢è£œã®ASP.NETããã³ASP.NET MVCã³ã³ãããŒã«ãååŸã§ããŸããããããã®ãã©ãããã©ãŒã ã§ã®äœæ¥ãç¿åŸããå¿ èŠã¯ãããŸããã ããããããããèªäœãã§ãããè±å¯ãªæ©èœãåããã³ã³ãããŒã«ã åèšçŽ100åã®ã³ã³ãããŒã«ïŒ ãããŠãããããæ¡åŒµãããããã©ã°ã€ã³ãäœæããããç¬èªã®ã³ã³ãããŒã«ãäœæãããã§ããŸãã äžè¬ã«ãå šäžçããããŸãã
- Ext.NETãã¬ã³ããªã³ã°ããããã»ã¹å šäœãããŒã¯ã¢ãããªã©ã®åé¡ãåŠçããŸãããå¿ããŠã¯ãªããŸããã ã¬ã€ã¢ãŠããã³ã³ãããªã©ã®æŠå¿µãéããŠã衚瀺ãããã®ãšå Žæãæå®ããã ãã§ãã
- æ¡åŒµãããæ°ãããããã¯ãäœæãããã§ããæ¢è£œã®ãããã¯ã
- DirectEventããã³DirectMethodãä»ããŠã€ãã³ãã«å¿çããç°¡åã§ã·ã³ãã«ãªæ¹æ³ã
- ããŸããŸãªããŒã¿é åã衚瀺ãã巚倧ãªæ©èœã
- Raphaelã«åºã¥ãæ¢è£œã®HTML5ã°ã©ãã£ãã¯ã
- Ext.NETã³ãã¥ããã£ã¯ããªã掻æ°ããããããªã倧ããããã©ãŒã©ã ã§ãã€ã§ã質åãããŠãéãã«çããåŸ ã€ããšãã§ããŸãã
ãããããã¡ããExt.NETã«ã¯æ¬ ç¹ããããŸãã
- ããã¯äž»ã«äŒæ¥ãééçãªãããžã§ã¯ãã«é©çšã§ããŸããå°èŠæš¡ãªã€ã³ã¿ãŒããããããžã§ã¯ãã®åéã§ã¯ããã®åã¯ãã¹ãŠåœ¹ã«ç«ããªããšæããŸãã ããã«ã¯å°ãªããšã3ã€ã®çç±ããããŸãã
- ã€ã³ã¿ãŒãããã§ã¯ã¹ã¯ãªãããšãªãœãŒã¹ã®è² è·ãéåžžã«å€§ããããŠãŒã¶ãŒã®ç»é¢ã«äœãã衚瀺ããã«ã¯çŽ500 KbãããŠã³ããŒãããå¿ èŠããããŸãã å€ãã®å Žåãäœéãã£ãã«ã®ãŠãŒã¶ãŒã¯åãåºããŠå ã«é²ã¿ãŸããããããã¯ãŸããŸãå°ãªããªã£ãŠããŸãã
- ã¯ã©ã€ã¢ã³ããã·ã³ã§ã¯ããªãã®è² è·ãããããŸãã 解決çãšããŠãéåžžã¯ChromeãŸãã¯FireFoxãã€ã³ã¹ããŒã«ããŸãããã倧éã®ã¡ã¢ãªããé£ã¹ãŠãããŸããŸããã
- ã¢ãã€ã«ããã»ããµã®èœåãäžè¶³ããŠãããªã©ãã¢ãã€ã«ãã©ãŠã¶ã§ã¯ããŸãæ©èœããŸããã ãããããã®åé¡ã解決ããããã«ãSenchaã«ã¯åŒãšããŠã®ExtJSã«äŒŒãå¥ã®Sencha Touchãã¬ãŒã ã¯ãŒã¯ããããŸãã ããããASP.NETãã©ãããã©ãŒã ã§Sencha Touchãå®è£ ããèšç»ã¯èããŠããŸããã ASP.NET MVCãšå ±ã«äœ¿çšããå Žåã§ããããã¯éåžžã«ç°¡åã§ãã
- Ext.NETãå®å šã«äœ¿çšããã«ã¯ãããªã倧ãããèå³æ·±ãããããå€ãã®ç¥èãå æããå¿ èŠããããã»ãšãã©ã®å ŽåãExt JSãåŠã¶å¿ èŠããããŸãããããã¯éåžžã«å°é£ã§ãã é²è¡é¢ã§ã¯ãExt.NETã®ã»ãšãã©ã®æ©èœã¯ããã»ã©å€ãã®ç¥èãå¿ èŠãšãããèè ãæäŸããäŸãç解ããæãäžããã ãã§ååã ãšèšããŸãã
æ å ±ãèŠã€ããäž»ãªå Žæã¯www.ext.net㧠ãããã§ãã©ãŒã©ã ãšäŸãèŠã€ããããšãã§ããŸãã ãããã®å Žæ以å€ã§ã¯ã stackoverflow.comããã³ãã·ã¢èªã話ãã°ã«ãŒãgroups.google.com/group/extnetã§è³ªåã§ããŸãã 圌ãã¯ãã€ãããªãã«çãããšæããŸãã
Hello WorldãæžãïŒ
ãããå§ããŸãããã
éå§ããåã«ã次ã®ãã®ãå¿ èŠã§ãã
- ã©ã®ãšãã£ã·ã§ã³ã®Visual Studio 2010ã§ããServicePack 1ãã€ã³ã¹ããŒã«ããããšããå§ãããŸãã
- Visual Studio NuGetã«æé©ãªããã±ãŒãžãããŒãžã£ãŒãã€ã³ã¹ããŒã«ããŸãã ãããè¡ãæ¹æ³ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
éå§ããã«ã¯ãæ°ããASP.NETãããžã§ã¯ããäœæããExt.NET NuGetããã±ãŒãžãè¿œå ããå¿ èŠããããŸãã ãããè¡ãã«ã¯ãããã±ãŒãžãããŒãžã£ãŒã³ã³ãœãŒã«ãéããŸãã ãããŠããã«å ¥ãïŒ
Install-Package Ext.NET -Pre
å¿ èŠãªãã¹ãŠã®ã©ã€ãã©ãªãšæ°ããExt.NET.Default.aspx WebããŒãžããããžã§ã¯ãã«èªåçã«è¿œå ãããŸãã ããŒãžã¬ã€ã¢ãŠãã«ã³ã³ãããŒã«ãè¿œå ããããã«ãã¢ããªã±ãŒã·ã§ã³ã®Web.configã«æ°è¡ãè¿œå ããŸãã ããã«ããããã¹ãŠã®ããŒãžã«æžã蟌ãå¿ èŠããªããªããŸãã
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
ãããŒãžã«Ext.NETã³ã³ãããŒã«ãç»é²ããããã«å¿
èŠã§ãã Web.configãéããŠã»ã¯ã·ã§ã³ãèŠã€ããŸã
èšå®-> system.webã«è¿œå ãã次ã®è¡ãè¿œå ããŸãã
<pages> <controls> <add tagPrefix="ext" namespace="Ext.Net" assembly="Ext.Net"/> </controls> </pages>
Ext.NET.Default.aspxããŒãžãããã©ã«ãããŒãžã«ããŸãã
ãã¹ãŠã®æºåãå®äºããã®ã§ãF5ãæŒããŠã¢ããªã±ãŒã·ã§ã³ãèµ·åã§ããŸãã
èè ããã®æ éã«æºåãããç°¡åãªäŸã衚瀺ãããŸããããã¯ãå³ã®ãããã¢ãããŠã£ã³ããŠã«ã圌ã«æžãããã®ã衚瀺ããŸãã ç®ã®åã«è¡šç€ºããããŠã£ã³ããŠã¯ãç»é¢ã®åšãããã©ãã°ããŠéãããïŒåŸã§éãããšã¯ã§ããŸããïŒã圱ãã¿ã€ãã«ãããããµã€ãºãå€æŽããããããã¹ããã£ãŒã«ãã®ãµã€ãºãå€æŽãããŸãã
ããã°ã©ã ã®ãœãŒã¹ã³ãŒããèŠãŠã¿ãŸãããã 4ã€ã®ã³ã³ãããŒã«ããããŸãã
- ããã¯ResourceManagerã§ãããã®ååšã¯Ext.NETã䜿çšãããã¹ãŠã®ããŒãžã§å¿ é ã§ããããã®æ©èœã¯éåžžã«åºç¯å²ã§ããã次ã®ã¬ãã¹ã³ã§èª¬æããŸãã
- ãŠã£ã³ããŠ-ããã¯ãã§ã«èŠããŠã£ã³ããŠã§ãã 圌ã¯å¯èœãªèšå®ãå¹ åºãéžæããŠããããã®ãã¡ã®ããã€ãã¯ãã®äŸã§äœ¿çšãããŠããŸãã ãŸãããã®ã³ã³ãããŒã«ã¯ãTextFieldã®ç¹å®ã®ã±ãŒã¹ã§ã¯ãä»ã®ã³ã³ãããŒã«ã®ã³ã³ããã§ãã ãŸãããŠã£ã³ããŠã«ã¯å€ãã®ãã¿ã³ãå«ãŸããŠããå ŽåããããŸãã
- TextArea-ãŠã£ã³ããŠå ã«è¡šç€ºãããããã¹ããã£ãŒã«ããç©ççã«ã¯ãããã¯å€ãã®HTML ããã¹ããšãªã¢ãã£ãŒã«ãã«éŠŽæã¿ã®ããå€ããã®ã§ãã [éä¿¡]ãã¿ã³ãã¯ãªãã¯ãããšããã®å€ããµãŒããŒã«éä¿¡ãããããã§åŠçãè¡ãããŸãã
- ãã¿ã³ã¯ãã¯ãªãã¯ããããšãµãŒããŒã«ã¢ã¯ã»ã¹ããç¹ã«ãOnDirectClickãå±æ§ãä»ããŠã¯ãªãã¯ã€ãã³ããã³ãã©ãŒã«å²ãåœãŠããããButton1_Clickãã¡ãœããã«ã¢ã¯ã»ã¹ãããã¿ã³ã§ãïŒè©³çŽ°ã«ã€ããŠã¯ãåå¥ã®ã¬ãã¹ã³ã§DirectEventãšDirectMethodãåç §ããŸãïŒã ãã®ã¡ãœããã¯ã次ã®è¡ã䜿çšããŠã¡ãã»ãŒãžãå³äžé ã«è¡šç€ºããŸãïŒX.Msg.NotifyïŒ "Message"ãthis.TextField1.TextïŒ.ShowïŒïŒ;ã ãªããžã§ã¯ãXã¯è£å©çãªãã®ã§ãããç¹å®ã®ã¢ã¯ã·ã§ã³ãç°¡çŽ åããŸãã ç¹å®ã®ã±ãŒã¹ã§ã¯ãããã«éç¥ãŠã£ã³ããŠãååŸããŠè¡šç€ºã§ããŸãã
ã»ãã®æ°åã®åãã§ãããŒãžã®ããŒããå€æŽã§ããŸãã ããã©ã«ãã§ã¯ãéïŒããã©ã«ãïŒãç°è²ïŒã°ã¬ãŒïŒãããã³ã¢ã¯ã»ã·ããªãã£ïŒã¢ã¯ã»ã¹ïŒã®3ã€ã®ããŒããæäŸãããŸã-èŠèŠé害è åãã ãããã¯ã èšå®ã® Web.configã§ã ããŒãå±æ§ã䜿çšããŠextnetã»ã¯ã·ã§ã³ã§å€æŽããŸãã Slateã®ãããã¯ãèŠãŠã¿ãŸãããã
Web.configãä»ããŠExt.NETçšã«æ§æã§ãããã®ä»ã®ãã©ã¡ãŒã¿ãŒã¯ã App_Readmeãã©ã«ããŒã«ããExt.NET.README.txtãã¡ã€ã«ã«ãããŸãã
ResourceManagerã䜿çšããŠãããŒãžèªäœã§ãããã®ã»ãšãã©ãæ§æã§ããŸããããã®ããŒãžã«ã®ã¿é©çšãããŸãã ããšãã°ã次ã®ããã«ããŒãžäžã®ããŒããå€æŽã§ããŸãã
<ext:ResourceManager runat="server" Theme="Access" />
å¿ èŠã«ãªãå¯èœæ§ã®ããããŸãã¯åã«èå³æ·±ããšæãããæãäžè¬çã«äœ¿çšããããã©ã¡ãŒã¿ãŒãæ€èšããŠãã ããã
- scriptAdapter-ãExtãããjQueryãããPrototypeãããYUIãã®æå³ããããŸãã ã¯ã©ã€ã¢ã³ãäžã®Ext.NETã¯Ext JSã䜿çšããŸããããã¯ãããã©ã«ãã§ããããExt JS Coreã«åºã¥ããŠããŸãã DOMã¢ãã«ãã¢ãã¡ãŒã·ã§ã³ãªã©ãExt JSã®jQueryã®äžçš®ãæäœããããã®åºæ¬çãªæ©èœãæäŸããŸãã ããããExt JSã¯ä»ã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšã§ããã¢ããã¿ãŒãšåŒã³ãŸãã jQueryãPrototypeãYUIã䜿çšã§ããŸãã ãªããããå¿ èŠãªã®ã§ããïŒ ããã§ã¯ããããžã§ã¯ãã§æ¢ã«jQueryã䜿çšããŠãããšããŸããããã¯ASP.NETã§ã¯çãããªããExtJs Coreã¹ã¯ãªãããããŒããã代ããã«ãjQueryãæå®ããŠããŒãžã®ããŒããä¿åããŸãã
- disableViewState-ãtrueããŸãã¯ãfalseãã®ãããããåãå ¥ããŸãã ViewStateãç¡å¹ã«ããããšãã§ããŸãã ãªãå¿ èŠãªã®ããå¿ èŠã§ãªããšãã¯ããããã®èšäºã§habrahabr.ru/blogs/net/119537ãšwww.aspnet.com.ua/Blog/blog-155.aspxãèªãããšãã§ããŸãã 次ã«ãç§ã®å®è·µã§ã¯ãViewStateã®äœ¿çšãåžžã«é¿ããããšããŠããŸãã
- scriptMode-ããªãªãŒã¹ããããããã°ãã®2ã€ã®æå³ããããŸãã ãããã°çšã®çž®å°ãŸãã¯èªã¿åãå¯èœãªã¹ã¯ãªããã®ããŒãã瀺ãããã«äœ¿çšãããŸãã FireBug for FireFoxã䜿çšãããšããµã€ãºã®éãã確èªã§ããŸãã ãšããã§ããŸã ãæã¡ã§ãªãå Žåã¯ããã®ãã©ã°ã€ã³ã匷ããå§ãããŸãã ããã䜿çšãããšãå€æ°ã®ãšã©ãŒããã£ããã§ããŸãã
ããŠãå§ãŸãã¯çµããã§ããä»ã®ãšãããExt.NET.Default.aspxã§äœãæžãããŠããããèŠãããšãã§ããŸãã
äœè ã¯ãexamples.ext.netã®äŸãšããã¹ãŠã®Ext.NETã³ã³ããŒãã³ãã®ã»ãŒå®å šãªäŸexamples.ext.net/#/Getting_Started/Introduction/Component_Overviewãåç §ããããšããå§ãããŸãã
次ã®ã¬ãã¹ã³ã§ã¯ãOutlookãªã©ã®äžè¬çãªã¢ããªã±ãŒã·ã§ã³çšã«ç©ºçœãäœæããæ¹æ³ã瀺ããŸãã ããã«åãçµãéçšã§ãExt.NETäœæ¥ã®åŸ®åŠãªéãã®ã»ãšãã©ãç解ããŸãã
çŽ æµãªèªæžãïŒ