2008-12-02 23 views
11

Tôi nhận được phản hồi 404 từ .Net MVC khi tôi cố gắng thực hiện yêu cầu trong đó cụm từ tìm kiếm của tôi kết thúc bằng . (khoảng thời gian). Đây là tuyến đường tôi đang sử dụng:ASP.NET MVC: Cách định tuyến cụm từ tìm kiếm với. (Thời gian) ở cuối

routes.MapRoute(
       "Json", 
       "Remote.mvc/{action}/{searchTerm}/{count}", 
       new { controller="Remote", count=10} 
      ); 

Tìm kiếm hoạt động tốt với . bên trong cụm từ tìm kiếm, nó không thể kết thúc bằng cụm từ tìm kiếm. Bất kỳ suy nghĩ nào về cách định tuyến yêu cầu tìm kiếm này?

+0

Vấn đề tương tự ở đây: http://stackoverflow.com/questions/294495/semantic-urls-with-dots-in-net#328873 –

Trả lời

5

Nếu bạn đang sử dụng .NET 4.0, bạn có thể đặt cờ này trong phần system.web của web.config của bạn và nó sẽ được phép:

<httpRuntime relaxedUrlToFileSystemMapping="true" /> 

Tôi đã thử nghiệm nó và nó hoạt động. Haack có giải thích về nó.

+0

Hoạt động tuyệt vời, +1! – Justin

+1

Như đã đề cập bởi Kosau, nó chỉ hoạt động nếu dấu chấm (.) Ở đâu đó trong cặp giữa của dấu gạch chéo (ví dụ/abc/de/f) và không hoạt động khi khoảng thời gian này giống như dấu tách kiểu tệp (ví dụ/abc/de/fg). –

22

tôi đã giải quyết được một vấn đề tương tự (tôi đã gặp rắc rối với đường dẫn như/nhạc/REM) Tôi đã thêm các dòng sau vào phần system.webServer/xử lý (điều chỉnh cho trường hợp của bạn):

<add name="UrlRoutingHandler" type="System.Web.Routing.UrlRoutingHandler, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" path="Remote.mvc/*" verb="GET"/> 

tôi đã lưu ý cũng có, mà

<httpRuntime relaxedUrlToFileSystemMapping="true" /> 

không chỉ làm việc nếu dấu chấm (.) là ở đâu đó trong cặp giữa dấu gạch chéo (ví dụ/abc/de/f) và không hoạt động khi ngoại hình thời gian giống như dấu phân cách loại tệp (ví dụ:/abc/de/fg).

+0

Trong số tất cả các câu trả lời tôi tìm thấy, bạn là người duy nhất giải quyết nhu cầu của tôi một cách chính xác. Cảm ơn bạn. –

+0

Cảm ơn rất nhiều! Đây là sự kết hợp của các câu trả lời mà tôi đang tìm kiếm !!! –

+0

điều này có cần phải là người xử lý duy nhất không? – quillbreaker

Các vấn đề liên quan