¿Cómo importar un espacio de nombres en la página de vista Razor?
                    
                        asp.net
                                asp.net-mvc-3
                                razor
                                webmatrix
                                
                    
                    
                        Amitabh
fuente
                
                fuente

Respuestas:
Finalmente encontré la respuesta.
Para VB.Net:
Eche un vistazo a la respuesta de @ravy amiry si desea incluir un espacio de nombres en la aplicación.
fuente
La primera forma es usar la
@usingdeclaración en los.cshtmlarchivos, que importa un espacio de nombres solo al archivo actual, y la segunda:En el archivo "web.config" en el
Viewsdirectorio " " de su proyecto (observe que no es el principal web.config en la raíz del proyecto) , busque esta sección:puedes agregar tu espacio de nombres personalizado de esta manera:
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:
Saludos.
ACTUALIZACIÓN: ¡ Gracias a @
Nick Silbersteinpor su recordatorio sobre áreas! Él dijo:Si está trabajando dentro de una zona , debe agregar el
namespaceplazo de laWeb.configvirtud/Areas/<AreaName>/Views/en lugar de/Views/fuente
Para la biblioteca
Para el modelo
fuente
usingprincipio de un archivo .cs es una palabra clave del compilador de C #. El@usingprincipio de un archivo .cshtml es una pista para el motor de plantillas Razor.En ASP.NET MVC 3 Preview1 puede importar un espacio de nombres en todas sus vistas de rasuradora con este código en Global.asax.cs
Espero que en RTM esto se haga a través de la sección Web.config.
fuente
Encontré este http://weblogs.asp.net/mikaelsoderstrom/archive/2010/07/30/add-namespaces-with-razor.aspx que explica cómo agregar un espacio de nombres personalizado a todas sus páginas de afeitar.
Básicamente puedes hacer esto
y ponga el siguiente código en su AssemblyInfo.cs
el método InitializeApplication se ejecutará antes de Application_Start en global.asax
fuente
Microsoft.WebPages.Compilation.AddGlobalImportse cambió aSystem.Web.WebPages.Razor.WebCodeRazorHost.AddGlobalImport.Un problema que debe saber es que cuando importa un espacio de nombres a través
web.configde unaViewscarpeta,namespacese importa SOLO para las vistas en esa carpeta . Significa que si desea importar vistasnamespaceen un área , también debe importar esonamespace, en elweb.configarchivo de esa área , ubicado en laViewscarpeta del área ;fuente
Para espacio de nombres y biblioteca
Para el modelo
Para iterar la lista en la página de Razor (debe usar el bucle foreach para acceder a los elementos de la lista)
fuente
Puedes probar esto
fuente
"Usar MyNamespace" funciona en MVC3 RTM. Espero que esto ayude.
fuente
Creo que para importar el espacio de nombres en la vista de afeitar, solo necesita agregar a continuación:
fuente
Dependiendo de su necesidad, puede usar uno de los siguientes métodos:
si es necesario en todas las vistas posteriores, agregue "usando su.domainName;" en _ViewStart.cshtml. Puede encontrar más información sobre esto en: ¿Dónde y cómo se vincula el archivo de diseño _ViewStart.cshtml?
O agregue la referencia de ensamblaje en View web.config como lo describen otros explicados en: ¿Cómo implementa un @using en todas las vistas en Asp.Net MVC 3?
fuente