У меня есть традиционный asp.net проект веб-сайта , в который мне нужно интегрировать MVC. Я использовал утилиту Скотта Хансельмана (AddMvc3ToWebForms), как описано здесь некоторыми пользователями ...
Как бы вы добавили ASP.Net MVC в существующий проект веб-сайта?
После запуска утилиты в одном сообщении говорится: «Вы должны быть в состоянии нажать F5, перейти на« home »на своем веб-сайте и увидеть образец формы, представленной mvc».
Я не могу понять, если я просто не знаю, куда мне нужно направить свой браузер, чтобы протестировать простой контроллер в этом контексте, или действительно что-то не так.
Для проверки я добавил контроллер в private / app_code с именем HelloController.cs ...
public class HelloController : Controller
{
public string Index()
{
return "Hello!";
}
}
Если мой проект веб-сайта находится на http://localhost/privatedn, то я подумал, как это будет работать, чтобы перейти к http://localhost/privatedn/Hello и увидеть страницу с надписью "Hello!"
Тем не менее, я просто получаю ошибку 404 not found. Это кажется правильным? Проект, для которого я установил mvc 3, является приватным проектом, и все, что я прочитал, говорит о том, что модели и контроллеры должны находиться в папке app_code для проектов веб-сайтов.
Похоже, маршрутизация должна быть настроена. Вот что у меня сейчас есть в моем global.asax (он был в app_start / RegisterMvc3Routes, который был создан утилитой) ...
protected void Application_Start(Object sender, EventArgs e)
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
Обновление Сейчас я пытаюсь с новым проектом веб-сайта просто посмотреть, смогу ли я даже заставить MVC и веб-сайт работать вместе, но все же не повезло. Я также попытался переместить RegisterMvc3Routes в код приложения.