/ / Como eu importo um namespace na página de visualização do Razor? - asp.net, asp.net-mvc-3, razor, webmatrix

Como importo um namespace na página de visualização do Razor? - asp.net, asp.net-mvc-3, navalha, webmatrix

Como importar um namespace na página de visualização do Razor?

Respostas:

768 para a resposta № 1

Finalmente 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