Zwykle nie wpisałbym tego tytułu w pytaniu, ale jestem pewien, że to błąd (lub projekt?)Możliwy błąd z routingiem ASP.NET MVC 3?
Stworzyłem zupełnie nową aplikację sieci Web ASP.NET MVC 3.
Potem poszedłem na stronę/Strona główna/Informacje.
URL na tej stronie:
http://localhost:51419/Home/About
Potem zmienił adres URL do tego:
http://localhost:51419/(A(a))/Home/About
a strona działa? Patrząc na wartości trasy, kontroler = Strona główna, Działanie = Informacje. Zignorowano pierwszą część?
A jeśli spojrzeć na wszystkie linki w źródle:
<link href="/(A(a))/Content/Site.css" rel="stylesheet" type="text/css" />
<script src="/(A(a))/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="/(A(a))/Scripts/modernizr-1.7.min.js" type="text/javascript"></script>
<li><a href="/(A(a))/">Home</a></li>
<li><a href="/(A(a))/Home/About">About</a></li>
Zobacz, jak to utrzymywał, że pierwszej części? To tak, jak silnik routingu myśli, że jest częścią domeny czy coś takiego?
Mam wrażenie, że to regex sprawa, bo jeśli zmienię adres URL:
http://localhost:51419/(a(a))/Home/About
(np zmienił wielkiej litery A na małe litery)
To 404 jest.
Czy ktoś może rzucić trochę światła na to? Czy to błąd, czy projekt?
To rzadka sprawa, że wpis z "możliwym błędem" w tytule jest godny szacunku, IMO. Ten jest. –
@AndrewBarber - wiem. :) To czysty fuks, natknąłem się na ten. Google indeksowało niektóre dziwne adresy URL za pomocą przewodników, spowodowanych przez błąd w naszej aplikacji. – RPM1984