2010-05-18 42 views
5

Có cách nào để lấy RouteData từ chuỗi url không?ASP.NET MVC: cách phân tích chuỗi url để nhận RouteData

Tôi có biểu mẫu đăng nhập với returlUrl làm thông số chuỗi truy vấn. tuyến đường của tôi được định nghĩa là: {languageCode}/{controller}/{action}

Trong phương pháp hành động LogIn(string returlUrl) các returlUrl là một cái gì đó giống như "en/home/địa chỉ liên lạc" vv tôi cần phải thay đổi languagePart ai không muốn sử dụng string.Replace, như các tuyến đường có thể thay đổi trong Tương lai.

Cảm ơn bạn.

+0

Bạn có cần phân tích cú pháp để sau này bạn có thể thực hiện chuyển hướng không? – R0MANARMY

+0

@: tôi cần phải chuyển hướng người dùng đến returnUrl, nhưng bằng mã ngôn ngữ khác với trong returnUrl gốc – Feryt

+0

Đó là loại kỳ quặc nhưng ok. – R0MANARMY

Trả lời

1

chủ đề diễn đàn này có thể có ích: http://forums.asp.net/t/1281667.aspx

Đây là tùy chọn tốt nhất mà tôi có thể nghĩ ra khỏi đỉnh đầu của tôi. Về cơ bản, sử dụng RouteTable.Routes.GetRouteData và Mocking HttpContextBase dựa trên chuỗi Url của bạn.

4

Vì vậy, đây là một chủ đề cũ rõ ràng, nhưng đối với bất cứ ai khác đến câu hỏi này thông qua Google, tôi chỉ viết một bài đăng blog về một cách để làm điều này khá dễ dàng. Tôi thực sự đi qua câu hỏi này trên SO khi tôi đã cố gắng tìm cách để làm điều này bản thân mình nhưng tôi không tìm thấy một mà tôi thích vì vậy tôi đã viết của riêng tôi.

Creating a RouteData Instance from a URL

+0

Scott, có vẻ như liên kết của bạn bị hỏng. – Khan

+2

Liên kết vẫn bị hỏng. –

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