2009-10-19 6 views
2

Essentiellement, la question est dans le titre. J'ai une application ASP.NET MVC, et j'ai besoin d'obtenir et d'utiliser le nom de la vue dans la page maître. Par exemple, je souhaite inclure un "nom_vue" .js dans l'en-tête de chaque page ou l'utiliser dans l'appel RenderAction. Bien sûr, je peux créer asp: ContentPlaceHolder dans la section head de la page maître, mais j'ai remarqué que le contenu que je place dans les vues est le même à l'exception du nom de la vue elle-même. Donc, j'essaie de refactoriser, et je ne vois rien d'utile dans les pages, ni dans les variables ViewXXX.Comment puis-je obtenir le nom de la vue dans la page maître

Merci

Répondre

2

Vous devriez être en mesure d'obtenir le nom de la vue:

IView view = ((ViewPage)this.Page).ViewContext.View; 
string viewname = ((WebFormView)view).ViewPath; 
+0

Merci! J'ai vu ViewPath dans le débogueur, mais il ne m'est pas venu à l'idée de faire le casting! Comment stupide:/ en fait, après plus de bricolage, tout peut être combiné dans <% = ((WebFormView) ViewContext.View) .ViewPath%> – Felix

Questions connexes