Trong ứng dụng web của tôi, thông số của tôi có thể chứa tất cả các loại ký tự điên (ký tự tiếng Nga, dấu gạch chéo, dấu cách, vv) và có thể không luôn được biểu diễn như trong URL.
Gửi chúng theo cách vui vẻ của họ sẽ làm việc trong khoảng 50% các trường hợp. Một số thứ như không gian đã được mã hóa ở đâu đó (tôi đoán trong Html.BuildUrlFromExpression có). Những thứ khác mặc dù (như "/" và "*") thì không.Double/incomplete Tham số Url Encoding
Bây giờ tôi không biết phải làm gì nữa vì nếu tôi mã hóa chúng, mã hóa của tôi sẽ được mã hóa một lần nữa và kết thúc sai. Nếu tôi không mã hóa chúng, một số nhân vật sẽ không vượt qua được.
Tôi đã làm theo cách thủ công .replace() các ký tự mà tôi gặp sự cố.
Đây là khóa học không phải là một ý tưởng hay.
Ý tưởng?
--Edit--
Tôi biết có vô số các thư viện mã hóa/giải mã sắp xếp của tôi. Dường như khung mvc đã cố gắng làm điều đó cho tôi, nhưng không hoàn toàn.
<a href="<%=Html.BuildUrlFromExpression<SearchController>(c=>c.Search("", 1, "a \v/&irdStr*ng"))%>" title="my hat's awesome!">
sẽ làm cho tôi
<a href="/Search.mvc/en/Search/1/a%20%5Cv/&irdStr*ng" title="my hat's awesome!">
Chú ý cách dấu gạch chéo, dấu hoa thị và dấu và không trốn thoát. Tại sao một số người trốn thoát và những người khác thì không? Làm thế nào tôi có thể thoát khỏi điều này đúng cách?
Tôi có làm điều gì đó sai hay là khung làm việc?
Cảm ơn phản hồi của bạn. Vui lòng xem bài đăng gốc của tôi cho bản chỉnh sửa tôi đã thực hiện. Tôi nghĩ câu hỏi của tôi không đủ rõ ràng. –