Есть несколько вещей, чтобы исправить здесь.
По соглашению, первоначальный контроллер по умолчанию называется HomeController
. ASP.NET MVC использует имя контроллера «Главная» для создания маршрутов. Посмотрите на маршрут по умолчанию конфигурации в:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
Обратите внимание, что defaults
линия отображает некоторые параметры для основного маршрута. В частности, он предоставляет значения по умолчанию для имени контроллера и имени действия, а затем указывает, что компонент id является необязательным.
В этой настройке, если не указан контроллер или действие, Home/Index
будет по умолчанию. Так что это:
http://localhost/
бы по умолчанию этот маршрут:
http://localhost/Home/Index
Но ваш контроллер называется Default1Controller
. Таким образом, вы должны выполнить одно из следующих действий:
- Переименовать контроллер
HomeController
(или то, что в вашем маршруте конфигурации); или
- Обновить конфигурацию маршрута по умолчанию до
Default1
вместо Home
; или
- Укажите маршрут в вашей URL:
http://localhost/Default1/Index
Кроме того, ваше Index
действия не выглядит совсем верно:
public string Index()
{
return "hello";
}
Я не уверен, что структура будет знать, что делать с этой строкой. Действия должны возвращать ActionResult
(или любой их производный класс).Что-то вроде этого:
public ActionResult Index()
{
return Content("hello");
}
Там может быть некоторые функции в рамках для автоматического переноса значения в ContentResult
, я не уверен. Но, по крайней мере, семантически кажется, что имеет смысл возвращать ActionResult
последовательно. Это также поможет дифференцировать MVC-контроллеры и контроллеры API.
Кроме того, даже если это действие Index
действительно работает или даже при использовании ContentResult
, все, что он возвращает, это строка, а не фактическая страница. Это то, что вы хотите для своего действия по умолчанию, когда пользователь посещает сайт?
Вы изменили свой RouteConfig для Default1Controller? По умолчанию он запускает действие HomeController и Index. Если вы измените имя контроллера, вы должны изменить RouteConfig в App_start – Marcin
, как восстановить этот файл маршрутизации? –
это мой routeconfig общественный класс RouteConfig { государственной статической силы RegisterRoutes (RouteCollection маршруты) { routes.IgnoreRoute ("{ресурс} .axd/{* Pathinfo}"); routes.MapRoute ( название: "По умолчанию", URL: "{контроллер}/{действие}/{ID}", по умолчанию: новый {контроллер = "Home", действие = "Index", ID = UrlParameter .Optional} ); }} –