La mise en page n'a pas pu être trouvé
J'obtiens l'erreur: La mise en page "_Layout" n'a pas pu être trouvé à l'emplacement suivant: "~/Views/Home/_Layout".
Mais la mise en page est à ce chemin: "~/Views/Shared/_Layout"
Que peut-il être pour un problème?
Je viens de commencer le projet et il ressemble à ceci:
Contrôleur:
namespace Testing.Controllers
{
public class HomeController : Controller
{
//
//GET: /Home/
public ActionResult Index()
{
return View();
}
}
}
Vue Index:
@model dynamic
@{
ViewBag.Title = "title";
Layout = "_Layout";
}
<h2>title</h2>
_ViewStart.cshtml:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
L'Explorateur De Solutions:
"~/Views/Home/_Layout" ceci est à titre indicatif. avez-vous une sorte de déclaration comme @layout="~/Views/Home/_Layout" dans la Vue que génère cette erreur?
Non, c'est comme ça: @{ ViewBag.Title = "title"; Layout = "_Layout"; }
qui permet de. définir le chemin d'accès comme @DarinDimitrov souligné devrait résoudre le problème
Est-ce une faille dans le ReSharper Ajouter un raccourci d'Affichage, ce qui a généré la ligne Layout = "_Layout";
Peu Tard pour le jeu, mais j'ai eu le même problème dans le passé, lorsque j'ai renommé une mise en page ou de le changer. Je n'ai pas trouvé un moyen de résoudre ce problème de côté de recréer la vue avec la bonne mise en page référencé depuis le début.
Non, c'est comme ça: @{ ViewBag.Title = "title"; Layout = "_Layout"; }
qui permet de. définir le chemin d'accès comme @DarinDimitrov souligné devrait résoudre le problème
Est-ce une faille dans le ReSharper Ajouter un raccourci d'Affichage, ce qui a généré la ligne Layout = "_Layout";
Peu Tard pour le jeu, mais j'ai eu le même problème dans le passé, lorsque j'ai renommé une mise en page ou de le changer. Je n'ai pas trouvé un moyen de résoudre ce problème de côté de recréer la vue avec la bonne mise en page référencé depuis le début.
OriginalL'auteur anleon | 2013-02-17
Vous devez vous connecter pour publier un commentaire.
Assurez-vous que dans votre
~/Views/_ViewStart.cshtml
fichier vous avez défini le chemin d'accès correct:Également si de votre point de vue vous êtes à la substitution de la mise en page, afin que le bon chemin est specifid pour cette mise en page. En outre, il pourrait y en avoir de côté de serveur de code qui est le réglage de la mise en page (comme des filtres d'actions, ou de la
ViewResult
de surcharge qui permet de définir une mise en page, ...).Mise à JOUR:
Vous semblent définir la Mise en page comme ceci:
Vous devez spécifier l'emplacement de la mise en page en tant que chemin d'accès absolu:
Mais une meilleure façon de le faire est de se débarrasser de ce paramètre de Mise en page dans votre
Index
vue:Maintenant la valeur de votre
_ViewStart.cshtml
sera utilisé.J'ai cité d'autres raisons possibles dans ma réponse. Avez-vous vérifier?
Il ne devrait pas être, je viens de commencer le projet
c'était le problème! Merci! C'est un peu déroutant que le code généré avait Layout = "_Layout"; Merci encore =)
C'est vrai, bien que probablement surtout pour Resharper utilisateurs. La première chose que vous obtenez après la création d'un nouveau contrôleur et la vue à l'aide de la Resharper les raccourcis, c'est la ligne de Layout="_Layout", qui est immédiatement m'a fait penser, "Grande! Il sait où chercher pour les modèles et sait de quoi l'extension de fichier à rechercher." Mais il ne le fait pas. Donc, moi aussi, je suis OP message d'erreur de la case.
OriginalL'auteur Darin Dimitrov
L'utilisation de la mauvaise tilde peut également produire cette erreur.
Assurez-vous d'utiliser le tilde "~" sur votre clavier.
Si vous avez copié le code à partir d'un livre, le tilde pourrait être un caractère non valide (à noter qu'il y a plus d'un tilde dans Unicode).
OriginalL'auteur Gerhard Liebenberg