J'ai un View - _Edit
qui habite News M/V/C
.
Je réutilise le V/M
via le CategoryController
comme:
return PartialView("/Views/News/_Edit.cshtml", model);
Comment View - _Edit
puis-je alerter le nom du contrôleur depuis le?
Quand je:
alert('@ViewContext. RouteData.Values["controller"].ToString()');
La valeur est: News
Cependant, l'URL est:/Category/foobar
Existe-t-il un moyen 'Category'
d'alerter la valeur ? Merci
asp.net-mvc-3
Valamas
la source
la source
NewsController
?method
qui charge lepartialview
et cecontroller
quimethod
existe dans.Réponses:
J'ai mis ceci dans ma vue partielle:
dans le même genre de situation que vous décrivez, et il montre le contrôleur décrit dans l'URL (Catégorie pour vous, Produit pour moi), au lieu de l'emplacement réel de la vue partielle.
Utilisez donc plutôt cette alerte:
la source
@ViewContext.RouteData.Values["controller"]
HttpContext.Current
.Request
est disponible directement.["action"]
fonctionne si vous voulez le nom de la méthode d'action.Je le fais comme ça, mais ce n'est peut-être que ASP.NET MVC 4
la source
Créez la classe de base pour tous les contrôleurs et mettez ici l'attribut de nom:
En vue
Exemple de contrôleur
la source
Name
propriété est définie?Autre moyen d'obtenir le nom actuel du contrôleur dans View
la source
Utilisez simplement:
Cela vous donnera le nom complet du contrôleur
la source
Vous êtes toujours dans le contexte de votre
CategoryController
même si vous chargez unPartialView
depuis votreViews/News
dossier.la source
Vous pouvez utiliser l'un des codes ci-dessous pour obtenir le nom du contrôleur
Si vous utilisez MVC 3, vous pouvez utiliser
la source