2011-07-28 4 views
0

Je suis nouveau à ASP.NET MVC 3, donc désolé si je suis mes détails sont légèrement trouble. J'essaie de publier mon application web sur un serveur ici. Je cours dans IIS 7, mis à intégré, et je peux très bien aller à la page d'accueil de l'application. Cependant, certains liens suppriment le répertoire de l'URL. Exemple:ASP.NET MVC 3, IIS7, 404 Erreur, ne pas routage correctement?

URL de la page d'accueil: http://localhost/CMS/ - ceci vous mènera au premier écran, avec des liens vers "Contrat", "Client" et "Employé". En cliquant sur l'un d'entre eux vous amène à ...

http://localhost/CMS/Contract (ou celui que vous choisissez.) De là, il est divisé en différentes catégories. L'un d'eux est "Créer un contrat". Voici le problème que j'ai: cette URL pointe vers

http://localhost/Contract/Create - en omettant complètement la partie CMS et en lançant un 404. Je peux l'atteindre en insérant CMS à l'intérieur, et ces pages routent correctement.

Qu'est-ce qui pourrait ne pas fonctionner? Faites-moi savoir si vous avez besoin de plus d'informations sur mon code ou quoi que ce soit.

+1

Pouvez-vous poster du code? – Mrchief

+0

Les contrôleurs de contrat, de client et d'employé sont-ils respectivement? – hunter

Répondre

2

Vous pouvez définir un autre contrôleur dans la route que ce que vous attendez

routes.MapRoute("Contract", "Contract/{action}", 
    new { controller = "cms", action = "index" } 
); 

et vous devriez construire vos liens comme cela dans vos pages

<%=Html.ActionLink("Contract", "create", "cms") %> 

plutôt que de faire le vieux façon façonnée comme

<a href="<%=ResolveUrl("~/Contracts/Create") %>">Contracts</a> 

quel côté étapes de routage.


On dirait que vous n'avez pas besoin des itinéraires supplémentaires, mais ont besoin pour créer ActionLinks propery en utilisant le HtmlHelper

+0

Je vais essayer cela et revenir à vous. J'utilise déjà ActionLink pour tout. Merci :) – ibarczewski

+0

Ce qui me rend confus, c'est que lorsque je le débogue localement, cela fonctionne très bien. C'est la publication qui le fait. – ibarczewski

+0

Idiot moi ne me suis pas rendu compte que certains des liens ne sont pas réellement ActionLinked. Cela l'a réparé. Merci beaucoup. :) – ibarczewski