Como importar um espaço para nome na página de exibição do Razor?
asp.net
asp.net-mvc-3
razor
webmatrix
Amitabh
fonte
fonte
Respostas:
Finalmente encontrei a resposta.
Para VB.Net:
Dê uma olhada na resposta de @ravy amiry se você quiser incluir um espaço para nome no aplicativo.
fonte
A primeira maneira é usar a
@using
instrução nos.cshtml
arquivos, que importa um espaço para nome apenas no arquivo atual e a segunda:No arquivo "web.config" no
Views
diretório " " do seu projeto (observe que não é o principal web.config na raiz do projeto) , localize esta seção:você pode adicionar seu espaço para nome personalizado assim:
que adicionará o espaço para nome a todos os arquivos .cshtml (e / ou .vbhtml); Além disso, você pode alterar a herança de visualizações a partir daqui, como:
Saudações.
ATUALIZAÇÃO: Obrigado a @
Nick Silberstein
por seu lembrete sobre áreas! Ele disse:Se você estiver trabalhando em uma área , adicione o
namespace
dentro doWeb.config
sub em/Areas/<AreaName>/Views/
vez de/Views/
fonte
Para Biblioteca
Para o modelo
fonte
using
no início de um arquivo .cs é uma palavra-chave do compilador C #. O@using
início de um arquivo .cshtml é uma dica para o mecanismo de modelo do Razor.No ASP.NET MVC 3 Preview1, você pode importar um espaço para nome em todas as suas visualizações de navalha com esse código no Global.asax.cs
Espero que no RTM isso seja feito através da seção Web.config.
fonte
Encontrei este http://weblogs.asp.net/mikaelsoderstrom/archive/2010/07/30/add-namespaces-with-razor.aspx, que explica como adicionar um espaço para nome personalizado a todas as suas páginas de barbear.
Basicamente, você pode fazer isso
e coloque o seguinte código no seu AssemblyInfo.cs
o método InitializeApplication será executado antes do Application_Start em global.asax
fonte
Microsoft.WebPages.Compilation.AddGlobalImport
foi alterada paraSystem.Web.WebPages.Razor.WebCodeRazorHost.AddGlobalImport
.Um problema que você deve saber é que, quando você importa um espaço para nome
web.config
naViews
pasta, issonamespace
é importado APENAS para exibições nessa pasta . Significa que se você deseja importar umnamespace
em uma área , também deve importar quenamespace
, noweb.config
arquivo dessa área , localizado naViews
pasta da área ;fonte
Para namespace e Biblioteca
Para o modelo
Para iterar a lista na página Razor (você deve usar o loop foreach para acessar os itens da lista)
fonte
Você pode tentar isso
fonte
"using MyNamespace" funciona no MVC3 RTM. Espero que isto ajude.
fonte
Eu acho que, para importar o namespace no modo navalha, você só precisa adicionar abaixo o caminho:
fonte
Dependendo da sua necessidade, você pode usar um dos seguintes métodos:
se necessário em todas as visualizações subsequentes, adicione "using your.domainName;" em _ViewStart.cshtml. Você pode encontrar mais informações sobre isso em: Onde e como o arquivo de layout _ViewStart.cshtml está vinculado?
Ou adicione a referência Assembly no View web.config, conforme descrito por outros explicados em: Como você implementa um @using em todos os Views no Asp.Net MVC 3?
fonte