Pregunta ¿Cómo importo un espacio de nombre en la página Razor View?


¿Cómo importar un espacio de nombres en la página Razor View?


672
2017-07-13 16:03


origen


Respuestas:


Finalmente encontré la respuesta.

@using MyNamespace

Para VB.Net:

@Imports Mynamespace

Eche un vistazo a la respuesta de @ Javad_Amiry si desea incluir un espacio de nombres en la aplicación.


768
2017-07-14 09:38



La primera forma es que el uso @using declaración en .cshtml archivos, que importa un espacio de nombre al archivo actual solamente, y el segundo:

En el archivo "web.config" en "Views"directorio de su proyecto (observe que es no la web.config principal en la raíz del proyecto), encuentra esta sección:

<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>

Puedes agregar tu espacio de nombres personalizado así:

<add namespace="My.Custom" />

eso agregará el espacio de nombres a todos los archivos .cshtml (y / o .vbhtml); también puede cambiar la herencia de vistas desde aquí, como:

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

Saludos.


ACTUALIZAR: Gracias a @Nick Silberstein a su recordatorio de las áreas! Él dijo:

Si estás trabajando dentro de un zona, debes agregar el namespace dentro de Web.config debajo /Areas/<AreaName>/Views/ más bien que /Views/


376
2017-07-17 09:47



En ASP.NET MVC 3 Preview1 puede importar un espacio de nombres en todas las vistas de su afeitadora con este código en Global.asax.cs

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

Espero que en RTM esto se haga a través de la sección Web.config.


27
2017-07-28 06:47



Para la Biblioteca

@using MyNamespace

Para el modelo

@model MyModel

26
2018-01-19 08:03



encontré esto http://weblogs.asp.net/mikaelsoderstrom/archive/2010/07/30/add-namespaces-with-razor.aspx que explica cómo agregar un espacio de nombre personalizado a todas sus páginas de afeitar.

Básicamente puedes hacer esto

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

y ponga el siguiente código en su AssemblyInfo.cs

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

el método InitializeApplication se ejecutará antes de Application_Start en global.asax


15
2018-04-27 04:40



Un problema que debes saber es que cuando importas un espacio de nombres a través de web.config en Views carpeta, eso namespace es importado SÓLO para las vistas en ese carpeta. Significa si quieres importar un namespace en una vistas de área, también debes importar eso namespace, en esa área web.config archivo, ubicado en el área Views carpeta;


13
2017-09-07 23:25



Puedes intentar esto

@using MyNamespace

7
2017-07-01 20:54



"using MyNamespace" funciona en MVC3 RTM. Espero que esto ayude.


3
2018-01-15 16:28



Creo que para importar el espacio de nombres en la vista de la maquinilla de afeitar, solo tiene que agregar a continuación:

@using XX.YY.ZZ

2
2017-12-03 13:39