2010-08-07 4 views
1

J'ai un gestionnaire personnalisé J'ai écrit qui exécute une action personnalisée basée sur un paramètre, par exemple:asp.net mvc routage à un gestionnaire personnalisé au lieu du contrôleur?

/action/option1

exécuterait le gestionnaire d'action avec option1. Je peux avoir un certain nombre d'options pour le paramètre ...

Cependant, cette action est un gestionnaire personnalisé, PAS un contrôleur mvc, parce que je retourne un texte brut (peut-être passer à une réponse json dans le futur) pas une page html.

Comment puis-je acheminer les URL de ce format vers le gestionnaire personnalisé, en passant l'option en paramètre? Je pensais à utiliser l'iis7 url réécrire, ce qui sonne idéal mais je ne savais pas s'il y avait une meilleure option ...

merci!

Répondre

2

Même si vous ne faites que renvoyer du texte, vous devez toujours le faire via des contrôleurs et des actions. Votre action devrait juste renvoyer un ContentResult au lieu d'un ViewResult. De cette façon, vous obtenez toujours le routage intégré et vous pouvez simplement le modifier plus tard pour renvoyer un JsonResult si nécessaire.

+0

soignée! Je ne savais pas qu'il y avait une telle chose. les httphandlers sont-ils découragés en MVC? – SelAromDotNet

+0

Je pense qu'il est généralement recommandé d'utiliser ActionResults dans la mesure du possible. Il y a tout un ensemble de classes différentes qui en découlent, ce n'est pas seulement les vues, le texte et le json. –

+0

merci c'était une grande aide! – SelAromDotNet