天天看點

html預設頁面,将index.html設定為預設頁面

5 個答案:

答案 0 :(得分:30)

我在路由配置中添加了一條指令來忽略空路由,這解決了我的問題。

routes.IgnoreRoute("");

答案 1 :(得分:20)

當@vir回答時,将routes.IgnoreRoute("");添加到RegisterRoutes(RouteCollection routes)預設情況下應該在RouteConfig.cs中找到。

這是方法的樣子:

public static void RegisterRoutes(RouteCollection routes)

{

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.IgnoreRoute("");

routes.MapRoute(

name: "Default",

url: "{controller}/{action}/{id}",

defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }

);

}

原因是ASP.NET MVC接管URL管理,預設情況下路由是所有無擴充名URL都由web.config中定義的無擴充Url處理程式控制。

有一個詳細的解釋here。

答案 2 :(得分:6)

假設Web應用程式在IIS中運作,則可以在web.config檔案中指定預設頁面:

答案 3 :(得分:4)

建立一個新的控制器DefaultController。在索引操作中,我寫了一行重定向:

return Redirect("~/index.html")

在RouteConfig.cs中,更改路徑的controller =“Default”。

routes.MapRoute(

name: "Default",

url: "{controller}/{action}/{id}",

defaults: new { controller = "Default", action = "Index", id = UrlParameter.Optional }

);

答案 4 :(得分:3)

這是一個解決方案:

//routes.MapRoute(

// name: "Default",

// url: "{controller}/{action}/{id}",

// defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }

// );

我的意思是,在您的MVC項目中評論或删除此代碼,以避免在您發出初始請求http://localhost:5134/時的預設行為。

index.html必須位于解決方案的根目錄中。

希望這有幫助!它對我有用。