Я новичок в приложении mvc2 (asp.net 3.5 + sp1 + mvc2). Я создал обработчик «HyphenatedRouteHandler» (путем наложения MvcRouteHandler), чтобы изменить область, контроллер и заклинания действия.
Код:глядя в applicationatio main Просмотры вместо Просмотров конкретной области в MVC2
public class HyphenatedRouteHandler : MvcRouteHandler
{
protected override IHttpHandler GetHttpHandler(RequestContext requestContext)
{
if (requestContext.RouteData.Values["area"]!=null)
requestContext.RouteData.Values["area"] = requestContext.RouteData.Values["area"].ToString().Replace("-", "_");
requestContext.RouteData.Values["controller"] = requestContext.RouteData.Values["controller"].ToString().Replace("-", "_");
requestContext.RouteData.Values["action"] = requestContext.RouteData.Values["action"].ToString().Replace("-", "_");
return base.GetHttpHandler(requestContext);
}
}
Мой direcctory stucture выглядит следующим образом:
Области
--Entertainment_Karmanuk
--Controllers
---- Drama_NatakController.cs
--Models
--Views
---- Drama_Natak
------ Schedule_Timetable.aspx
Он отлично работает, если я не использую Area, но когда я использую Area она ищет вид на внешних основных точки зрения, а не вид под видом .. поэтому он дает ошибку:
Вид «Schedule_Timetable» или его хозяин не найдено. Поиск в следующих местах:
~/Views/Drama_Natak/Schedule_Timetable.aspx
~/Views/Drama_Natak/Schedule_Timetable.ascx
~/Views/Shared/Schedule_Timetable.aspx
~/Views/Shared/Schedule_Timetable.ascx
Фактически Drama_Natak/Schedule_Timetable.aspx присутствует в Районе.
Я что-то пропустил? Пожалуйста помоги.