URL telles que les offres ASP.NET MVC
-
19-08-2019 - |
Question
Existe-t-il un moyen d'implémenter un URL dans mechanisim dans asp.net comme dans asp.net mvc
par exemple. mydomain.com/user/myusername mais sans utiliser MVC
si oui, comment?
La solution
Pour ce faire, utilisez l'assembly System.Web.Routing
Voici un article de blog montrant comment: -)
Autres conseils
Vous pouvez utiliser le même mécanisme de routage que celui utilisé par ASP.NET MVC dans une application Web ASP.NET WebForm. Consultez ce post de Phil Haack sur la manière dont pour en savoir plus.
ou
Si vous ne souhaitez pas utiliser la fonctionnalité de routage et que vous souhaitez utiliser la vôtre, cochez cette case question sur.
Si vous avez accès à IIS:
- S'il s'agit d'IIS7, le module de réécriture d'URL pourrait fonctionner.
- Configurez IIS pour qu'il traite TOUTE requête avec ASP.NET et ajoutez une entrée à Global.ashx
S'il s'agit d'Apache, utilisez mod_rewrite.
Sinon, vous pouvez utiliser:
http: //myserver/Web.aspx/url/1
ou:
http: //myserver/Url.aspx/1
et traiter Request.Uri.PathInfo
Il doit aller dans un fichier .aspx quelque part, sinon il ne sera pas traité.
Je l'ai déjà fait avec ASP.NET 2.0 et la bibliothèque UrlRewrite.Net
Le seul truc, c'est que si vous voulez qu'il fonctionne avec des chemins sans extensions aspx, vous devez configurer IIS pour qu'il passe toutes les demandes via le moteur ASP.NET.
J'ai construit une application classique ASP.NET (je ne peux pas croire que ce terme existe) vers 2005 qui utilisait la réécriture, et cet article sur MSDN était très utile à l'époque: http://msdn.microsoft.com/en-us/library/ms972974.aspx .
Si vous êtes contraint à la version 2.0 ou même à la version 1.1, cela peut s'avérer être la meilleure solution, car System.Web.Routing est à 3,5 uniquement.
IIRF effectue la réécriture d'URL pour IIS5 et 6. Il prend en charge Regex. Libre. Open source.