J'ai une vue partielle (contrôle) qui est utilisée sur plusieurs pages d'affichage, et j'ai besoin de renvoyer le nom de la vue actuelle au contrôleur - donc s'il y a par exemple. erreurs de validation, je peux redessiner la vue originale.Récupérez le nom de vue actuel dans ASP.NET MVC?
Une façon solution de le faire serait (dans les méthodes de régulation)
var viewName = "Details"; // or whatever
ViewData["viewName"] = viewName;
return(View(viewName, customer));
puis dans la même partielle, rendre comme
<input type="hidden" name="viewName"
value="<%=Html.Encode(ViewData["viewName"])%>" />
La question est - est-il un bien ou syntaxe que je peux utiliser pour récupérer cela directement au lieu de le définir à partir du contrôleur? J'ai essayé l'évidence:
<input type="hidden" name="viewName"
value="<%=Html.Encode(this.Name)%>" />
mais cela ne fonctionne pas. Qu'est-ce que j'oublie ici?
Merci.
Ceci est un peu un choc. Je pensais que ce devrait être possible puisque vous pouvez obtenir le nom de la vue à partir du résultat de l'action pendant le test du contrôleur ... mais je ne suis pas clair sur la façon de le récupérer à l'intérieur de la vue elle-même. Dans l'attente d'une réponse ... – womp