2016-11-28 9 views
1

У меня есть 4 проекта ASP.NET MVC и у меня есть подкаталог «тест» в корневой директории и содержит index.htmlAsp.Net MVC 4 чистый URL загрузки index.html из подкаталога

I хочу Венна чистый URL называется, что index.html возвращается

, когда я звоню

http://localhost:8080/

, что я получаю содержание вернулся из моего «тест \ index.html»

+0

вы не используете .cshtml страницы бритву двигателя? – Aravind

+1

Вы ищете маршрутизацию, эта статья из MSDN показывает вам, как зарегистрировать «маршрут по умолчанию» (что вы ищете): https://msdn.microsoft.com/en-us/library/cc668201.aspx#Anchor_3 – nbokmans

+0

@Aravind no Я использую Angular 2 – squadwuschel

ответ

3

Класс RouteConfig в подкаталоге App_Start должен быть отрегулирован так, чтобы по умолчанию был установлен Test. Поместите свой «тестовый» каталог в каталог Views и, если вы еще этого не сделали, создайте TestController. RouteConfig должен выглядеть следующим образом:

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

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

thats what I'm Looking Я добавил ActionResult в моем TestController, который возвращает => {возвращает новый FilePathResult ("~/test/index.html", "text/html"); } – squadwuschel

1

Самый простой способ поставить ваш «тест/index.html» в качестве документа по умолчанию в IIS.

Если вы действительно хотите сделать это программно, вам нужно будет создать действие для обработки вашего запроса и сопоставить его маршрут по умолчанию.

Маршрут:

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

Контроллер/Действие:

public class StaticFileController : Controller 
{ 
    // GET: StaticFile 
    [AllowAnonymous] 
    public FileContentResult Index() 
    { 
     string imageFile = System.Web.HttpContext.Current.Server.MapPath("~/Test/Index.html"); 
     byte[] bytes = System.IO.File.ReadAllBytes(imageFile); 

     return File(bytes, "text/html"); 
    } 
}