2010-03-12 11 views
0

Lorsque vous n'utilisez pas de zones traitant l'URL pour les JsonResults du côté client, cela ne pose généralement pas de problème. En général, vous pouvez vous débarrasser de l'url dans vos appels JSON et vous en sortir. il. Le problème survient lorsque vous avez différentes zones et que vous ne voulez pas mettre à jour tous vos liens lorsque vous déplacez un contrôleur (et ses vues) d'une zone à l'autre. Je ne suis pas très satisfait de la façon dont je suis la manipulation de ce scénario en ayant ce morceau de code dans chaque vue:.net MVC, traitant de json et de zones

<script type="text/javascript"> 
    var ControllerActions = { 
     JsonSearch: '<%= Url.Action("JsonSearch") %>/', 
     JsonDelete: '<%= Url.Action("JsonDelete") %>/', 
     Edit: '<%= Url.Action("Edit") %>/', 
     Delete: '<%= Url.Action("Delete") %>/' 
    } 
</script> 

Bien qu'il ne fonctionne, peu importe où je place les vues/contrôleurs Je me demande s'il y a un plus élégant pour le faire.

Répondre

1

Personnellement, j'aime l'approche que vous avez prise ci-dessus. En fin de compte, si vous voulez avoir la mobilité de vos contrôleurs et de vos actions, le mieux est de dépendre des générateurs de routes disponibles dans ASP.NET MVC (comme votre Url.Action). Ma seule autre recommandation est de le placer dans un contrôle partiel/réutilisable afin qu'il se résume à une seule ligne dans votre code.