Hej.
Ćwicząc ASP.NET MVC 5 napotkałem na dziwny problem i niestety nawet wujek google nie dał jednoznacznej odpowiedzi jak ten problem ominąć.
No więc tak.
Chciałem utworzyć podstronę "Admin" w ramach której użytkownik będzie miał dostęp do kilku różnych modułów.
Np.
Schemat w SE.
**Admin (folder)**
-Index (widok)
** -UserView (folder)**
-Users (widok)
-UserCreate (widok)
-Edit (widok)
-[...itd...] (widok)
I ok, o ile dostanie się do folderu UserView i widoku Users nie stanowi problemu bo dodałem sobie:
routes.MapRoute(
"AdminUsers",
"{controller}/UserView/{action}",
new
{
controller = "Admin",
action = UrlParameter.Optional
});
a samo przekierowanie wykonuję:
//Widok index
@Html.RouteLink("Managed Users", "AdminUsers", new { action = "Users" })
o tyle przekierowanie z Users do UserCreate już w ten sposób nie działa bo wywala błąd o tym że nie można odnaleźć takiej ścieżki.
//Widok Users
@Html.RouteLink("Create New", "AdminUser", new { action = "UserCreate" })
Sam błąd:
The view 'UserCreate' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/Admin/UserCreate.aspx
~/Views/Admin/UserCreate.ascx
~/Views/Shared/UserCreate.aspx
~/Views/Shared/UserCreate.ascx
~/Views/Admin/UserCreate.cshtml
~/Views/Admin/UserCreate.vbhtml
~/Views/Shared/UserCreate.cshtml
~/Views/Shared/UserCreate.vbhtml
Opis: Podczas wykonywania bieżącego żądania sieci Web wystąpił nieobsługiwany wyjątek. Aby uzyskać dodatkowe informacje o błędzie i miejscu jego występowania w kodzie, przejrzyj ślad stosu.
Szczegóły wyjątku: System.InvalidOperationException: The view 'UserCreate' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/Admin/UserCreate.aspx
~/Views/Admin/UserCreate.ascx
~/Views/Shared/UserCreate.aspx
~/Views/Shared/UserCreate.ascx
~/Views/Admin/UserCreate.cshtml
~/Views/Admin/UserCreate.vbhtml
~/Views/Shared/UserCreate.cshtml
~/Views/Shared/UserCreate.vbhtml
Błąd źródła:
Podczas wykonywania bieżącego żądania sieci Web został wygenerowany nieobsługiwany wyjątek. Informacje dotyczące pochodzenia i lokalizacji wyjątku można zidentyfikować przy użyciu poniższego śladu stosu wyjątku.
Przy tworzeniu rozwiązania dla Users posiłkowałem się Stackiem +
http://msdn.microsoft.com/en-us/library/system.web.mvc.html.linkextensions.routelink.aspx
Mam nadzieję że może ktoś z was napotkał na taki problem i udało mu się go rozwiązać.
Bo mam dziwne wrażenie że robię jakiś banalny błąd którego po prostu nie jestem w stanie wyłapać :/.
Może ew. mam błędne założenie co do tworzenia widoków w taki sposób jak tutaj próbuję, ale wydawało mi się że najlepiej tak to rozdzielić jeżeli w ramach Admin i jednego kontrolera chciałbym stworzyć parę modułów (Zamiast wrzucić wszytko do folderu "Admin" (prawie 20 widoków)).