Thông thường tôi sẽ không đặt một tiêu đề như thế này trong câu hỏi, nhưng tôi khá chắc chắn đó là lỗi (hoặc theo thiết kế?)Lỗi có thể với định tuyến ASP.NET MVC 3?
Tôi đã tạo một ứng dụng ASP.NET MVC 3 Web hoàn toàn mới.
Sau đó, tôi đã truy cập trang/Trang chủ/Giới thiệu.
URL cho trang này là:
http://localhost:51419/Home/About
Sau đó, tôi đã thay đổi địa chỉ URL này:
http://localhost:51419/(A(a))/Home/About
Và trang làm việc? Nhìn vào các giá trị tuyến đường, controller = Home, Action = About. Nó bị bỏ qua phần đầu tiên?
Và nếu tôi nhìn vào tất cả các liên kết trong nguồn:
<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>
Xem cách nó duy trì một phần đầu tiên? Nó giống như các công cụ định tuyến nghĩ rằng đó là một phần của tên miền hoặc một cái gì đó?
Tôi đã có một cảm giác đó là một regex điều , bởi vì nếu tôi thay đổi địa chỉ URL:
http://localhost:51419/(a(a))/Home/About
(ví dụ thay đổi chữ hoa A đến chữ thường)
Nó 404 của.
Có ai có thể làm sáng tỏ điều này không? Đây có phải là lỗi hoặc do thiết kế không?
Thật hiếm khi một bài đăng có "lỗi có thể xảy ra" trong tựa đề được bầu chọn xứng đáng, IMO. Cái này là. –
@AndrewBarber - tôi biết. :) Đó là fluke tinh khiết tôi đã xem qua này. Google đã lập chỉ mục một số URL lạ với các hướng dẫn trong chúng, gây ra bởi một lỗi trong ứng dụng của chúng tôi. – RPM1984