Jak zaimportować przestrzeń nazw na stronie widoku Razor?

Jak zaimportować przestrzeń nazw w widoku Razor?

Author: Sinister Beard, 2010-07-13

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.
 867
Author: Amitabh,
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/

 402
Author: 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
2012-09-11 04:39:28

Do Biblioteki

@using MyNamespace

Dla Modelu

@model MyModel
 30
Author: Alper Şaldırak,
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.

 27
Author: Germán,
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

 16
Author: k-dev,
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;

 14
Author: ,
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-09-07 23:25:35

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>  
   }
 11
Author: Veer Jangid,
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
 10
Author: Abhishek Siddhu,
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.

 3
Author: Howard,
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
 2
Author: HiteshAjudiya,
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:

 0
Author: Imran Javed,
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