Myślałem, że to będzie dość łatwe, ale jestem całkowicie zaskoczony.ASP.NET MVC Routing widoki poziomu root
Chcę, aby widoki jednego kontrolera znajdowały się na poziomie katalogu głównego aplikacji, a nie w podkatalogu tego kontrolera, ale nie mogę go znaleźć.
chciałbym mieć te dwa adresy URL:
/info - powinno to działanie "Info" na kontrolerze "Home"
/Admin/- To powinno być działanie "Index" (domyślnie) na kontrolerze "Admin"
Do tej pory nie ważne, co próbowałem, pierwsza trasa zakończy się połowem. Nie mogę oddzielić tych dwóch.
Strona informacyjna nie potrzebuje nawet kontrolera, jest statyczna, ale chcę użyć strony wzorcowej. Może być o wiele łatwiejszy sposób, żeby to wyciągnąć, ale też tego nie wymyśliłem.
Wszystko, co mogę myśleć, że to zadziała, to stworzenie kontrolera informacji i przeniesienie widoków/domu/informacji do widoków/informacji/indeksu, ale to ma pewien zapach.
udało mi się to zrobić w szynach przy użyciu:
map.connect ':controller/:action/:id'
map.connect ':action', :controller => 'home'
Nie myślałem, żeby statycznie je wytropić, czyli odłożyć słuchawkę na odnalezienie wzoru! Wydaje się, że powinien być bardziej dynamiczny sposób, więc nie muszę dodawać nowej trasy dla każdej strony. –
Myślałem tak samo, ale nie jestem już tak optymistyczny. W każdym razie - przekierowanie przez atrybuty przypomina mi srebrną kulę. :) –
Prawie jak jest ukryty slash, więc na końcu "/ Info" i "/ Admin /" w końcu trafiają na tę samą trasę, ponieważ "/ Info" zostaje potraktowane jako "/ Info /". I odwrotnie; jeśli ponownie zamówię trasy, pierwsza trasa nadal będzie obie. W takim przypadku wygląda to tak, jakby traktować "/ Admin /" jak "/ Admin". Sprawdzam routing oparty na atrybutach. Zdecydowanie wygląda obiecująco. –