6

私の Web サイトのほとんどで、通常のルーティングを MVC 方式で行いたいと考えています。ただし、アプリを最初に起動したときに、ルートが /Home/Index.cshtml に移動するのは望ましくありません。単純に /Index.html に移動したい

私の現在のRegisterRoutesは次のようになります(そして私の目標を達成しません)

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("index.html");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
4

3 に答える 3

7
    public ActionResult Index() {
        string FilePath = Server.MapPath("~/index.html");
        // You can add other conditions also here
        if (System.IO.File.Exists(FilePath)) {
            return File(FilePath, "text/html");
        }
        return View();
    }

お役に立てれば!

于 2013-07-11T04:17:46.620 に答える
1

これを考慮に入れるかどうかはわかりません。ルート web.config で次のように設定する必要があります。

<appSettings>
    <add key="webpages:Enabled" value="true" />
</appSettings>

ルートに index.cshtml がある場合、RouteConfig.cs には他に何も必要ありません (このファイルにはもちろん html コードのみを含めることができます)。

ただし、ファイルのみを提供する (処理しない) 場合は、たとえば index.html をプロジェクトの開始ページとして設定する必要があります。これが最も簡単な答えです。

于 2013-04-27T08:23:50.367 に答える