Comment importer un espace de noms dans la page de vue Razor?
asp.net
asp.net-mvc-3
razor
webmatrix
Amitabh
la source
la source
Réponses:
Enfin trouvé la réponse.
Pour VB.Net:
Jetez un œil à la réponse de @ravy amiry si vous souhaitez inclure un espace de noms dans l'application.
la source
La première méthode consiste à utiliser l'
@using
instruction dans les.cshtml
fichiers, à importer un espace de noms uniquement dans le fichier actuel, et la seconde:Dans le fichier "web.config" du répertoire "
Views
" de votre projet (notez qu'il ne s'agit pas du web.config principal à la racine du projet) , trouvez cette section:vous pouvez ajouter votre espace de noms personnalisé comme ceci:
qui ajoutera l'espace de noms à tous les fichiers .cshtml (et / ou .vbhtml); vous pouvez également modifier l'héritage des vues à partir d'ici, comme:
Cordialement.
MISE À JOUR: Merci à @
Nick Silberstein
pour son rappel sur les zones! Il a dit:Si vous travaillez dans une zone , vous devez ajouter le
namespace
dans leWeb.config
sous/Areas/<AreaName>/Views/
plutôt que/Views/
la source
Pour la bibliothèque
Pour le modèle
la source
using
début d'un fichier .cs est un mot clé du compilateur C #. Le@using
début d'un fichier .cshtml est une indication du moteur de modèle Razor.Dans ASP.NET MVC 3 Preview1, vous pouvez importer un espace de noms sur toutes vos vues de rasoir avec ce code dans Global.asax.cs
J'espère qu'en RTM, cela se fait via la section Web.config.
la source
J'ai trouvé ce http://weblogs.asp.net/mikaelsoderstrom/archive/2010/07/30/add-namespaces-with-razor.aspx qui explique comment ajouter un espace de noms personnalisé à toutes vos pages de rasoir.
Fondamentalement, vous pouvez faire cela
et placez le code suivant dans votre AssemblyInfo.cs
la méthode InitializeApplication sera exécutée avant Application_Start dans global.asax
la source
Microsoft.WebPages.Compilation.AddGlobalImport
été changé pourSystem.Web.WebPages.Razor.WebCodeRazorHost.AddGlobalImport
.Un problème que vous devez savoir est que lorsque vous importez un espace de noms via
web.config
dans leViews
dossier, celui-cinamespace
est importé JUSTE pour les vues dans ce dossier . Signifie que si vous souhaitez importer une vuenamespace
dans une zone , vous devez également importer cellenamespace
, dans leweb.config
fichier de cette zone , située dans leViews
dossier de la zone ;la source
Pour l'espace de noms et la bibliothèque
Pour le modèle
Pour itérer la liste sur la page Razor (vous devez utiliser une boucle foreach pour accéder aux éléments de la liste)
la source
Vous pouvez essayer ceci
la source
"Utiliser MyNamespace" fonctionne dans MVC3 RTM. J'espère que cela t'aides.
la source
Je pense que pour importer l'espace de noms en vue rasoir, il vous suffit d'ajouter ci-dessous:
la source
Selon vos besoins, vous pouvez utiliser l'une des méthodes suivantes:
si nécessaire dans toutes les vues suivantes, ajoutez "using your.domainName;" dans _ViewStart.cshtml. Vous pouvez trouver plus d'informations à ce sujet dans: Où et comment le fichier de disposition _ViewStart.cshtml est-il lié?
Ou ajoutez une référence d'assembly dans View web.config comme décrit par d'autres expliqués dans: Comment implémentez-vous un @using dans toutes les vues dans Asp.Net MVC 3?
la source