朧の.Netの足跡
問合せ先:support@oborodukiyo.info サイト内検索はこちら 
ASP.NET MVC MVCでHTMLファイルを表示するには





まずはweb.configファイルでhtml拡張子のファイルを認識するようにします。 そして、Routeファイルで.html拡張子をルーティングして、ControllerでHTMLファイルを表示するための専用アクションを作成するのがよいと思います。
アクションからの戻り値はViewではなく、FilePathResultです。

web.configの一部

        <system.webserver>
            <handlers>
            <add name="Browser HTML" path="*.html" verb="*" type="System.Web.StaticFileHandler, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" resourcetype="File" precondition="integratedMode" />
            </handlers>
        </system.webserver>
    

RouteConfig.csの例

            //.htmlファイル
            routes.MapRoute(
                name: "html",
                url: "{controller}/{filename}.html",
                defaults: new { controller = "Home", action = "Html" });
        

Controllerの例

            [HttpGet]
            public ActionResult Html(string filename)
            {
                //パスを指定して、HTMLファイルであることを指定する
                var result = new FilePathResult("~/Views/Home/" + filename + ".html", "text/html");
                return result;
            }
        








良いやや良い普通やや悪い悪い

投稿日時評価コメント