web-dev-qa-db-fra.com

La page ASP.NET MVC ne se charge pas et indique "La ressource est introuvable"

J'ai un problème lorsque j'essaie d'ouvrir mon application ASP.NET MVC mais j'obtiens la page d'erreur ASP.NET qui dit ceci:

Erreur serveur dans l'application '/'.

La ressource est introuvable. Description: HTTP 404. La ressource que vous recherchez (ou l'une de ses dépendances) aurait pu être supprimée, si son nom avait été modifié ou si elle était temporairement indisponible. Veuillez réviser l'URL suivante et assurez-vous qu'elle est orthographiée correctement. 

URL demandée: /EventScheduler/account.aspx/login

Informations de version: Microsoft .NET Framework Version: 2.0.50727.3053; Version ASP.NET: 2.0.50727.3053 ** 

J'utilise l'URL de cette publication et c'est pourquoi j'ai le .aspx dans l'URL:

http://blog.codeville.net/2008/07/04/options-for-de-deploying-aspnet-mvc-to-iis-6/

Cela fonctionne sur mon autre serveur sandbox (pas une machine de développement), et maintenant je viens de le déployer sur mon site de production en tant que nouveau répertoire virtuel, mais pour une raison quelconque, il semble qu'il recherche en fait un fichier .aspx. 

Des idées? Je pense que je dois oublier un pas.

26
skb

J'ai eu la même erreur lors de la construction. La valeur par défaut consiste à utiliser les paramètres URLRoute pour la navigation. Si vous sélectionnez la propriété "Définir comme page de démarrage" en cliquant avec le bouton droit de la souris sur une page cshtml, cette erreur est générée, car il existe toujours un routage vers la page actuelle sous le fichier Global.asax.

Examinez les propriétés du projet pour le chemin de démarrage et supprimez-le.

13
dewelloper

J'ai trouvé la solution à ce problème, vous n'avez pas besoin de supprimer le fichier global.asax, car il contient des informations utiles au bon fonctionnement de votre projet. Regardez plutôt le nom de votre contrôleur. Dans mon cas, mon contrôleur a été nommé quelque chose comme MyController.cs et dans le fichier global.asax, il essaie de faire référence à un contrôleur domestique. 

Recherchez ces lignes dans le asax global

routes.MapRoute(
   "Default", // Route name
   "{controller}/{action}/{id}", // URL with parameters
   new { controller = "Home", action = "Index", id = UrlParameter.Optional } 

dans mon cas, je devais obtenir comme ça pour travailler

    new { controller = "My", action = "Index", id = UrlParameter.Optional }

J'espère que cela corrige aussi votre problème.

À votre santé

12
AleckxGhost

Assurez-vous de ne pas demander à IIS de vérifier si un fichier existe avant de le servir. Celui-ci m'a mordu plusieurs fois. Faites ce qui suit:

Ouvrez le gestionnaire IIS. Cliquez avec le bouton droit sur votre site Web MVC et cliquez sur Propriétés. Ouvrez l'onglet Répertoire virtuel. Cliquez sur le bouton Configuration .... Sous Mappages d'applications génériques, assurez-vous que vous disposez d'un mappage sur c:\windows\Microsoft.net\framework\v2.0.50727\aspnet_isapi.dll. VÉRIFIEZ "Vérifiez que le fichier existe" IS NON VÉRIFIÉ! 

5
Will

Si vous exécutez IIS 6 et versions ultérieures, assurez-vous que l’application regroupe votre application MVC. utilise est défini sur Integrated Managed Pipeline Mode. J'avais le mien réglé sur Classic par erreur et la même erreur s'est produite.

3
Igor Brejc

La page est introuvable car le contrôleur associé ne se ferme pas. Il suffit de créer le contrôleur spécifique. Si vous essayez d'afficher la page d'accueil et d'utiliser Visual Studio 2015, procédez comme suit:

  1. Cliquez avec le bouton droit sur le dossier Contrôleur, puis sélectionnez Ajouter> Contrôleur.
  2. Sélectionnez MVC 5 Controller - Empty;
  3. Cliquez sur Ajouter;
  4. Mettez HomeController pour le nom du contrôleur;
  5. Construisez le projet et ensuite, réexécutez votre projet

J'espère cette aide

3
Victor Jatobá

Vous devriez examiner attentivement les valeurs de votre itinéraire.

routes.MapRoute(
   "Default", // Route name
   "{controller}/{action}/{id}", // URL with parameters
   new { controller = "Home", action = "Index", id = UrlParameter.Optional } 

Dans ce cas, assurez-vous que votre contrôleur est "Home", car le chargement de l'application échouera s'il n'y a pas de HomeController avec action d'indexation. Dans mon cas, j'avais HomesController et j'ai raté le «s» en face de la maison. J'ai corrigé la non concordance de nom et cela a résolu le problème à la fois sur mon environnement local et sur mon serveur.

1
Kenneth O'kwu

J'ai eu la même erreur lors de la construction d'une application MVC.
Dans mon cas, c'est parce que j'ai oublié d'ajouter la chaîne "Controller" au nom de mon contrôleur.

Erreur avec

public class ProductType : BaseController
{
    public ProductType()
    {
    }
}

Résolu

public class ProductTypeController : BaseController
{
    public ProductTypeController ()
    {
    }
}
1
Kedar9444

Eu le même problème, dans mon cas, la cause était que le fichier web.config était manquant dans le dossier dir virtuel.

1
gabouy

Deux choses doivent être assurées:

1) Route devrait être correct dans le fichier Global.ascx

2) N'oubliez pas d'ajouter la référence de Controller Project dans votre Web Project ( la vue est dans un projet séparé du contrôleur )

Le second est mon cas. espérons cette aide!

1
cracker

N'oubliez pas d'utiliser PUBLIC pour ActionResult:

  public ActionResult Details(int id)
        {
            return View();
        }

au lieu de 

   ActionResult Details(int id)
            {
                return View();
            }
0
alexey


Étape 1: Vérifiez si vous avez reçu la mise à jour suivante? http://support.Microsoft.com/kb/894670 Si vous en avez, vous voudrez peut-être suivre cette procédure et voir si cela fonctionne pour vous. Cela a fonctionné partiellement pour moi ... L'item où il est mentionné que le "/" supplémentaire à supprimer n'est pas tout à fait vrai, mais il m'a permis de changer un peu les propriétés de mon projet.

Étape 2: Faites un clic droit sur les propriétés de votre projet Web dans votre Solun . Sélectionnez WEB> Choisir la page actuelle au lieu de la page spécifique.

étape 3: Allez dans votre projet où vous gardez votre page de démarrage * .aspx. (Doit être identique à la page actuelle ou choisissez-en un autre de votre choix :)) Appuyez sur Exécuter le débogage.

0
Taja_100

Allez sur n'importe quelle page que vous voulez voir dans le navigateur, faites un clic droit -> voir dans le navigateur . De cette façon, travaillez avec moi.

0
Rawan

Dans votre projet, ouvrez Global.asax.cs, puis cliquez avec le bouton droit de la souris sur Method RouteConfig.RegisterRoutes (RouteTable.Routes); puis cliquez sur Go To Definition puis à defaults: new { controller = "Home", action = "Index", id =UrlParameter.Optional} puis changez ensuite Names of "Home" en votre propre nom de contrôleur et index en votre propre nom de vue si vous avez modifié les noms autres que "HomeController" et "Index" J'espère que votre problème sera résolu.

0
Azmat Ullah

Après des heures de débogage, il s’agissait simplement d’une erreur c # dans ma vue HTML . Vérifiez votre vue et localisez toute erreur.

Ne commentez pas le code c # en utilisant le style html 

0
spida

Supposons que le code source soit copié d’autres endroits.

Parfois, si vous utilisez le répertoire virtuel dans l’URL de votre application, par exemple:

http://localhost:50385/myapp/#/

Aucun itinéraire ne prendra la demande en compte.

solution:

Cliquez explicitement sur le bouton "créer un répertoire virtuel" dans votre fichier de projet.

0
CodeFarmer