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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top