Jak zaimportować przestrzeń nazw na stronie widoku Razor?
Jak zaimportować przestrzeń nazw w widoku Razor?
11 answers
W końcu znalazłem odpowiedź.
@using MyNamespace
Dla VB.Net:
@Imports Mynamespace
Jeśli chcesz dołączyć przestrzeń nazw w aplikacji, to spójrz na odpowiedź @ ravy amiry.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-07 11:22:37
Pierwszym sposobem jest użycie instrukcji @using
w plikach .cshtml
, która importuje przestrzeń nazw tylko do bieżącego pliku, a drugim:
W "sieci.config "plik w katalogu" Views
" twojego projektu (zauważ, że jest to , a nie główna Strona.config w korzeniu projektu) , znajdź tę sekcję:
<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>
Możesz dodać własną przestrzeń nazw w następujący sposób:
<add namespace="My.Custom" />
, który doda przestrzeń nazw do wszystkich .cshtml (i / lub .pliki vbhtml) ; możesz także zmienić dziedziczenie widoków stąd, jak:
<pages pageBaseType="My.Custom.MyWebViewPage">
Pozdrawiam.
Aktualizacja: Dzięki @ Nick Silberstein
do przypomnienia o obszarach! Powiedział:
jeśli pracujesz w obrębie obszaru , musisz dodać namespace
w obrębie Web.config
Pod /Areas/<AreaName>/Views/
, a nie
/Views/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-11 04:39:28
Do Biblioteki
@using MyNamespace
Dla Modelu
@model MyModel
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-19 08:03:06
W ASP.NET podgląd MVC 31 możesz zaimportować przestrzeń nazw do wszystkich widoków razor za pomocą tego kodu w trybie globalnym.asax.cs
Microsoft.WebPages.Compilation.CodeGeneratorSettings.AddGlobalImport("Namespace.Namespace");
Mam nadzieję, że w RTM zrobi się to przez Web.sekcja config.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-28 22:58:24
Znalazłem to http://weblogs.asp.net/mikaelsoderstrom/archive/2010/07/30/add-namespaces-with-razor.aspx który wyjaśnia, jak dodać niestandardową przestrzeń nazw do wszystkich stron brzytwy.
W zasadzie możesz to zrobić
using Microsoft.WebPages.Compilation;
public class PreApplicationStart
{
public static void InitializeApplication()
{
CodeGeneratorSettings.AddGlobalImport("Custom.Namespace");
}
}
I umieść poniższy kod w AssemblyInfo.cs
[assembly: PreApplicationStartMethod(typeof(PreApplicationStart), "InitializeApplication")]
Metoda InitializeApplication zostanie wykonana przed Application_Start w global.asax
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-27 04:46:14
Jedną z kwestii, o której musisz wiedzieć, jest to, że gdy importujesz przestrzeń nazw przez web.config
do folderu Views
, to namespace
jest importowany tylko dla widoków w tym folderze. Oznacza to, że jeśli chcesz zaimportować namespace
w widoku obszaru , musisz również zaimportować namespace
, w pliku web.config
tego obszaru, znajdującym się w folderze Views
obszaru;
Dla przestrzeni nazw i biblioteki
@using NameSpace_Name
Dla Modelu
@model Application_Name.Models.Model_Name
Do iteracji listy na stronie Razor (musisz użyć pętli foreach, aby uzyskać dostęp do elementów listy)
@model List<Application_Name.Models.Model_Name>
@foreach (var item in Model)
{
<tr>
<td>@item.srno</td>
<td>@item.name</td>
</tr>
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-11 12:26:48
Możesz spróbować tego
@using MyNamespace
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-01 20:54:38
"używanie MyNamespace" działa w MVC3 RTM. Mam nadzieję, że to pomoże.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-15 16:28:43
Myślę, że aby zaimportować przestrzeń nazw w widoku razor, wystarczy dodać poniżej sposób:
@using XX.YY.ZZ
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-03 15:33:24
W zależności od potrzeb możesz użyć jednej z następujących metod:
- w pierwszej linii/s widoku dodaj "using your.domainName; " (jeśli jest wymagane tylko w konkretnym widoku)
Jeśli jest to wymagane we wszystkich kolejnych odsłonach następnie dodaj "using your.domainName; " w _ViewStart.cshtml. Można znaleźć więcej na ten temat w: gdzie i jak jest _ViewStart.CSHTML layout File linked?
Lub dodaj odniesienie do montażu w widoku web.config opisany przez innych wyjaśnione w: jak zaimplementować @używając wszystkich widoków w Asp.Net MVC 3?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-08-06 10:16:40