Ho un'applicazione MVC.NET con un percorso come segue:Come consentire "Caratteri illegali nel percorso"?
routes.MapRoute("member", "member/{id}/{*name}", new { controller = "member", action = "Details", id = "" }, new { id = @"\d+" });
Così, un collegamento potrebbe essere qualcosa di simile: http://domain/member/123/any_kind_of_username
Questo funziona bene in generale, ma se il percorso contiene illegale caratteri (es. doppio qoute: http://domain/member/123/my_ "utente" _name) Ottengo un "System.ArgumentException: caratteri non validi nel percorso".
Dopo molti googling sembra essere il suggerimento migliore per assicurarsi che l'URL non contenga tali caratteri. Sfortunatamente, questo è fuori dal mio controllo in questo caso.
C'è un modo per aggirare questo problema?
presumibilmente sono chiamati caratteri non validi perché non è possibile utilizzarli ... –
Non è possibile che questi siano codificati URL? – Oded
@Mitch - Beh, una virgola doppia, ad esempio, funziona bene per Apache, quindi non vedo perché IIS non lo consentirebbe. @Oded - Il problema è che non ho il controllo di questi URL. – hbruce