Question Comment importer un espace de noms dans Razor View Page?


Comment importer un espace de noms dans Razor View Page?


672
2017-07-13 16:03


origine


Réponses:


Enfin trouvé la réponse.

@using MyNamespace

Pour VB.Net:

@Imports Mynamespace

Jetez un oeil à la réponse de @ Javad_Amiry si vous voulez inclure un espace de noms dans l'application.


768
2017-07-14 09:38



La première façon est cette utilisation @using déclaration en .cshtml fichiers, qui importe un espace de noms uniquement dans le fichier actuel et le second:

Dans le fichier "web.config" dans "Views"répertoire de votre projet (notez qu'il est ne pas le web.config principal dans la racine du projet), trouvez cette section:

<system.web.webPages.razor>
  <pages pageBaseType="System.Web.Mvc.WebViewPage">
    <namespaces>
      <add namespace="System.Web.Mvc" />
      <add namespace="System.Web.Mvc.Ajax" />
      .
      .
      <!-- etc -->
    </namespaces>
  </pages>
</system.web.webPages.razor>

vous pouvez ajouter votre espace de noms personnalisé comme ceci:

<add namespace="My.Custom" />

cela ajoutera l'espace de noms à tous les fichiers .cshtml (et / ou .vbhtml); aussi vous pouvez changer l'héritage des vues d'ici, comme:

<pages pageBaseType="My.Custom.MyWebViewPage">

Cordialement.


METTRE À JOUR: Grâce à @Nick Silberstein à son rappel sur les zones! Il a dit:

Si vous travaillez dans un région, vous devez ajouter le namespace dans le Web.config en dessous de /Areas/<AreaName>/Views/ plutôt que /Views/


376
2017-07-17 09:47



Dans ASP.NET MVC 3 Preview1, vous pouvez importer un espace de noms sur toutes vos vues rasoir avec ce code dans Global.asax.cs

Microsoft.WebPages.Compilation.CodeGeneratorSettings.AddGlobalImport("Namespace.Namespace");

J'espère que cela se fera dans RTM via la section Web.config.


27
2017-07-28 06:47



Pour la bibliothèque

@using MyNamespace

Pour le modèle

@model MyModel

26
2018-01-19 08:03



j'ai trouvé ça http://weblogs.asp.net/mikaelsoderstrom/archive/2010/07/30/add-namespaces-with-razor.aspx ce qui explique comment ajouter un espace de noms personnalisé à toutes vos pages de rasoir.

Fondamentalement, vous pouvez faire cela

using Microsoft.WebPages.Compilation;
public class PreApplicationStart
{
   public static void InitializeApplication()
   {
       CodeGeneratorSettings.AddGlobalImport("Custom.Namespace");
   }
}

et placez le code suivant dans votre AssemblyInfo.cs

[assembly: PreApplicationStartMethod(typeof(PreApplicationStart), "InitializeApplication")]

la méthode InitializeApplication sera exécutée avant Application_Start dans global.asax


15
2018-04-27 04:40



Un problème que vous devez savoir est que lorsque vous importez un espace de noms via web.config dans Views dossier, que namespace est importé JUSTE pour les vues dans ce dossier. Moyens si vous voulez importer un namespace dans un vues de la zone, vous devez également importer namespace, dans ce domaine web.config fichier, situé dans la zone Views dossier;


13
2017-09-07 23:25



Tu peux essayer ça

@using MyNamespace

7
2017-07-01 20:54



"using MyNamespace" fonctionne dans MVC3 RTM. J'espère que cela t'aides.


3
2018-01-15 16:28