Como importar um namespace na página de visualização do Razor?
Respostas:
768 para a resposta № 1Finalmente encontrei a resposta.
@using MyNamespace
Para VB.Net:
@Imports Mynamespace
Dê uma olhada na resposta de @Javad_Amiry se você quiser incluir um namespace no aplicativo.
376 para a resposta № 2
A primeira maneira é usar @using
declaração em .cshtml
arquivos, que importa um namespace apenas para o arquivo atual, e o segundo:
No arquivo "web.config" em "Views
"diretório do seu projeto (observe que é não o web.config principal na raiz do projeto), encontre esta seção:
<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>
você pode adicionar seu namespace personalizado assim:
<add namespace="My.Custom" />
isso adicionará o namespace a todos os arquivos .cshtml (e / ou .vbhtml); também você pode alterar a herança de visualizações a partir daqui, como:
<pages pageBaseType="My.Custom.MyWebViewPage">
Saudações.
ATUALIZAR: Graças a @Nick Silberstein
ao seu lembrete sobre as áreas! Ele disse:
Se você está trabalhando em um área, você deve adicionar o namespace
dentro do Web.config
sob /Areas/<AreaName>/Views/
ao invés de
/Views/
27 for answer № 3
Na ASP.NET MVC 3 Preview1, você pode importar um namespace em todas as suas visualizações do razor com este código em Global.asax.cs
Microsoft.WebPages.Compilation.CodeGeneratorSettings.AddGlobalImport("Namespace.Namespace");
Espero que na RTM isso seja feito por meio da seção Web.config.
26 for answer № 4
Para Biblioteca
@using MyNamespace
Para modelo
@model MyModel
15 para a resposta № 5
Eu achei isto http://weblogs.asp.net/mikaelsoderstrom/archive/2010/07/30/add-namespaces-with-razor.aspx que explica como adicionar um namespace personalizado a todas as suas páginas do razor.
Basicamente, você pode fazer isso
using Microsoft.WebPages.Compilation;
public class PreApplicationStart
{
public static void InitializeApplication()
{
CodeGeneratorSettings.AddGlobalImport("Custom.Namespace");
}
}
e coloque o seguinte código em seu AssemblyInfo.cs
[assembly: PreApplicationStartMethod(typeof(PreApplicationStart), "InitializeApplication")]
o método InitializeApplication será executado antes do Application_Start em global.asax
13 para resposta № 6
Um problema que você deve saber é que quando você importa um namespace via web.config
dentro Views
pasta, que namespace
é importado SOMENTE para visualizações naquele pasta. Significa se você deseja importar um namespace
em um vistas da área, você também deve importar isso namespace
, nessa área "s web.config
arquivo, localizado na área "s Views
pasta;
7 para resposta № 7
Você pode tentar isso
@using MyNamespace
3 para resposta № 8
"using MyNamespace" funciona em MVC3 RTM. Espero que isto ajude.
2 para resposta № 9
Acho que para importar o namespace no modo de navalha, você só precisa adicionar o seguinte:
@using XX.YY.ZZ