it-swarm.com.de

Wie importiere ich einen Namespace in Razor View Page?

Wie importiere ich einen Namespace in Razor View Page?

711
Amitabh

Endlich die Antwort gefunden.

@using MyNamespace

Für VB.Net:

@Imports Mynamespace

Schauen Sie sich die Antwort von @ Javad_Amiry an, wenn Sie einen Namespace in die App aufnehmen möchten.

818
Amitabh

Der erste Weg ist, die Anweisung @using in .cshtml-Dateien zu verwenden, die nur einen Namespace in die aktuelle Datei importieren, und der zweite:

In der Datei "web.config" im Verzeichnis "Views" Ihres Projekts (beachten Sie, dass es sich nicht um das Hauptweb handelt .config im Stammverzeichnis des Projekts), finden Sie diesen Abschnitt:

<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>

sie können Ihren benutzerdefinierten Namespace folgendermaßen hinzufügen:

<add namespace="My.Custom" />

dadurch wird der Namespace allen .cshtmlnd/oder .vbhtml-) Dateien hinzugefügt. Außerdem können Sie die Vererbung von Ansichten von hier aus ändern, z.

<pages pageBaseType="My.Custom.MyWebViewPage">

Grüße.


--- (UPDATE: Vielen Dank an @Nick Silberstein für seine Erinnerung an Gebiete! Er sagte:

Wenn Sie in einem Bereich arbeiten, müssen Sie namespace im Web.config unter /Areas/<AreaName>/Views/ anstelle von /Views/ hinzufügen

388
javad amiry

Für die Bibliothek

@using MyNamespace

Für Modell

@model MyModel
29

In ASP.NET MVC 3 Preview1 können Sie mit diesem Code in Global.asax.cs einen Namespace für alle Ihre Rasiereransichten importieren

Microsoft.WebPages.Compilation.CodeGeneratorSettings.AddGlobalImport("Namespace.Namespace");

Ich hoffe, dass dies in RTM über den Abschnitt Web.config erledigt wird.

27
Germán

Ich habe folgendes gefunden http://weblogs.asp.net/mikaelsoderstrom/archive/2010/07/30/add-namespaces-with-razor.aspx Hier erfahren Sie, wie Sie allen Ihren Rasiererseiten einen benutzerdefinierten Namespace hinzufügen.

Grundsätzlich kann man das machen

using Microsoft.WebPages.Compilation;
public class PreApplicationStart
{
   public static void InitializeApplication()
   {
       CodeGeneratorSettings.AddGlobalImport("Custom.Namespace");
   }
}

und fügen Sie den folgenden Code in Ihre AssemblyInfo.cs ein

[Assembly: PreApplicationStartMethod(typeof(PreApplicationStart), "InitializeApplication")]

die Methode InitializeApplication wird vor Application_Start in global.asax ausgeführt

16
k-dev

Wenn Sie einen Namespace über web.config in Views importieren, wird namespace importiert NUR für Views in diesem - Ordner. Wenn Sie also ein namespace in eine Bereichsansicht importieren möchten, müssen Sie dieses namespace auch in die web.config -Datei dieses Bereichs importieren, die sich in der Views Ordner;

14
user933765

Sie können dies versuchen

@using MyNamespace
9
Abhishek Siddhu

Für Namespace und Bibliothek

@using NameSpace_Name

Für Modell

@model Application_Name.Models.Model_Name 

Zum Durchlaufen der Liste auf der Rasiermesserseite (Sie müssen foreach loop verwenden, um auf die Listenelemente zuzugreifen)

@model List<Application_Name.Models.Model_Name>

@foreach (var item in Model)
   {  
          <tr>
                <td>@item.srno</td>
                <td>@item.name</td>
         </tr>  
   }
8
Veer Jangid

"using MyNamespace" funktioniert in MVC3 RTM. Hoffe das hilft.

3
Howard

Ich denke, um Namespace in der Razor-Ansicht zu importieren, müssen Sie nur Folgendes hinzufügen:

@using XX.YY.ZZ
2
HiteshAjudiya

Je nach Bedarf können Sie eine der folgenden Methoden anwenden:

0
Imran Javed