[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]] -[[戻る>ASP.NET の Modernization]] * 目次 [#cb2dcf69] #contents *概要 [#p4222e1f] コチラの内容をまとめた。 -Modify template : Link Bootstrap and jQuery from the template.~ https://github.com/OpenTouryoProject/OpenTouryo/issues/199 -Modify template : Correspond the JavaScript and CSS to bundle and minify, or to CDN.~ https://github.com/OpenTouryoProject/OpenTouryo/issues/200 -Modify template : Maintenance of the master page.~ https://github.com/OpenTouryoProject/OpenTouryo/issues/201 *共通項 [#le39c2c1] [[コチラ>ASP.NET の Modernization]]を参照。 *[[BundleConfig>ASP.NET の BundleConfig]] [#b48396de] 基本的な事項は、[[コチラ>ASP.NET の BundleConfig]]を参照。 **初期設定 [#s5b54b4c] ***Optimization.WebFormsをインストールする。 [#v05e2164] [[ASP.NET Web Forms]]では、追加で以下のインストールが必要になる。 Install-Package Microsoft.AspNet.Web.Optimization.WebForms ***Web.configに定義を追加する。 [#y511bb29] また、インストール後に以下の定義をWeb.configに追加する必要がある。 <pages> <namespaces> <add namespace="System.Web.Optimization" /> </namespaces> <controls> <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" /> </controls> </pages> </system.web> **Bundle & Minification [#wefbae22] 以下のように、[[ASP.NET Web Forms]]用の追加の[[BundleConfig>ASP.NET の BundleConfig]]を行う。 ***追加 [#nbca941f] -respond.js~ IE8以下でレスポンシブWebデザインを実現する。 -WebFormsJs~ 詳細は不明。情報が殆ど無い。 --WebForms.js --WebUIValidation.js --MenuStandards.js --Focus.js --GridView.js --DetailsView.js --TreeView.js --WebParts.js -MsAjaxJs~ JS file related to ASP.NET Ajax --MicrosoftAjax.js --MicrosoftAjaxApplicationServices.js --MicrosoftAjaxTimer.js --MicrosoftAjaxWebForms.js ***定義方法 [#z6ec33f3] 詳しくは、[[コチラ>https://github.com/OpenTouryoProject/OpenTouryo/issues/200]]を -「BundleConfig」 -「Bundle.config」 -「RegisterBundles」 という検索文字列で検索。 **CDNフォールバック [#s8ee8670] ***ScriptManager [#x116b8c6] [[ASP.NET Web Forms]]ではScriptManagerにCDNフォールバック機能が実装されている。 -アセンブリから取得する場合はCDNフォールバックの定義は不要。 -以下の場合は、CDNフォールバックの定義が必要になる。 --自前のScriptManager定義を使用する場合 --CDNフォールバック動作をカスタマイズする場合 ***ScriptBundle [#ef4a1813] その他、[[ASP.NET MVC]]と同様に、ScriptBundleクラスで、~ 個別にCDNフォールバックの定義を行なうこともできる。 ***定義方法 [#s25dcf4f] 詳しくは、[[コチラ>https://github.com/OpenTouryoProject/OpenTouryo/issues/200]]を -ScriptManagerの場合 --「<asp:ScriptManager runat="server">」 --「.AddDefinition(」 -ScriptBundleの場合 --「CdnFallbackExpression」 という検索文字列で検索。 **リンクのさせ方 [#xbdfa1a0] [[初期設定>#s5b54b4c]]が完了していること。 ***JS [#id2a0390] Scripts.Renderメソッドと<asp:ScriptManager>タグを使用する方法がある。~ しかしながら、これら2つの方法の適切な使用が明確でないという問題がある。 -Scripts.Render <title>・・・</title> <asp:PlaceHolder runat="server"> <%: Scripts.Render("~/bundles/modernizr") %> </asp:PlaceHolder> -ScriptManager <body> <form runat="server"> <asp:ScriptManager runat="server"> <Scripts> <%--ScriptManager のバンドル スクリプトの詳細については、http://go.microsoft.com/fwlink/?LinkID=301884 を参照してください --%> <%--Framework スクリプト--%> <asp:ScriptReference Name="MsAjaxBundle" /> <asp:ScriptReference Name="jquery" /> <asp:ScriptReference Name="bootstrap" /> <asp:ScriptReference Name="respond" /> <asp:ScriptReference Name="WebForms.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebForms.js" /> <asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebUIValidation.js" /> <asp:ScriptReference Name="MenuStandards.js" Assembly="System.Web" Path="~/Scripts/WebForms/MenuStandards.js" /> <asp:ScriptReference Name="GridView.js" Assembly="System.Web" Path="~/Scripts/WebForms/GridView.js" /> <asp:ScriptReference Name="DetailsView.js" Assembly="System.Web" Path="~/Scripts/WebForms/DetailsView.js" /> <asp:ScriptReference Name="TreeView.js" Assembly="System.Web" Path="~/Scripts/WebForms/TreeView.js" /> <asp:ScriptReference Name="WebParts.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebParts.js" /> <asp:ScriptReference Name="Focus.js" Assembly="System.Web" Path="~/Scripts/WebForms/Focus.js" /> <asp:ScriptReference Name="WebFormsBundle" /> <%--サイト スクリプト--%> </Scripts> </asp:ScriptManager> ***CSS [#f1858a71] webopt:bundlereferenceと言うタブを使用するもよう。 <title>・・・</title> <asp:PlaceHolder runat="server"> <%: Scripts.Render("~/bundles/modernizr") %> </asp:PlaceHolder> <webopt:bundlereference runat="server" path="~/Content/css" /> *[[RouteConfig>ASP.NET の RouteConfig]] [#z952e103] 基本的な事項は、[[コチラ>ASP.NET の RouteConfig]]を参照。 **機能概要 [#sfdb6d92] [[ASP.NET Web Forms]]の[[RouteConfig>ASP.NET の RouteConfig]]では、~ ファイルの拡張子(*.aspxなど)をURLに付与しなくても済むよう、~ 「ASP.NET Friendly URLs」と言う機能を追加できる。 **設定方法 [#d1509727] 以下を参照。 -Modify template : ~ Add the Startup class to template to correspond to the OWIN pipeline.~ Issue #198 · OpenTouryoProject/OpenTouryo~ https://github.com/OpenTouryoProject/OpenTouryo/issues/198 ***RouteConfigを追加する。 [#j6d637a2] RouteConfigを追加する。~ (最新の[[ASP.NET Web Forms]]プロジェクト・テンプレートからRouteConfigを自動生成して入手)。 ***RouteConfigを呼び出す。 [#j840275c] Global.asax or Startup から RouteConfig.RegisterRoutesメソッドを呼び出す。 *参考 [#b3a19659] -Adding Bundling and Minification to Web Forms – RickAndMSFT on Azure & MVC~ https://blogs.msdn.microsoft.com/rickandy/2012/08/14/adding-bundling-and-minification-to-web-forms/ **[[BundleConfig>ASP.NET の BundleConfig]] [#d735cd46] ***Bundle と Minification [#s832ac35] -ASP.NET Web FormsでOptimizationを活用して、CSSとJavascriptを最適化するには? | sia.tech~ http://sianis.azurewebsites.net/?p=61 - ASP.NET 4.5 ScriptManager Improvements in WebForms | .NET Web Development and Tools Blog~ https://blogs.msdn.microsoft.com/webdev/2012/09/21/asp-net-4-5-scriptmanager-improvements-in-webforms/ ***CDNフォールバック [#fce577b9] - ASP.NET アプリの高速化 : CDN の利用とフォールバック対応 – THE TRUTH IS OUT THERE~ https://blogs.msdn.microsoft.com/chack/2013/05/12/asp-net-cdn/ **[[RouteConfig>ASP.NET の RouteConfig]] [#k0869edb] -ASP.NET Friendly URLsを使う #aspnetjp by @masaru_b_cl | be free~ https://takanosho.wordpress.com/2013/12/21/one-asp-net-advent-calendar-2013/ ---- Tags: [[:.NET開発]], [[:ASP.NET]], [[:ASP.NET Web Forms]], [[:OWIN]], [[:NuGet]]