[asp.net] Razor View Page에서 네임 스페이스를 가져 오려면 어떻게합니까?

Razor View Page에서 네임 스페이스를 가져 오는 방법은 무엇입니까?



답변

마침내 답을 찾았습니다.

@using MyNamespace

VB.Net의 경우 :

@Imports Mynamespace

앱에 네임 스페이스를 포함하려면 @ravy amiry의 답변을 살펴보십시오 .


답변

첫 번째 방법은 파일 @using에서 use 문 을 사용 .cshtml하여 네임 스페이스를 현재 파일로만 가져오고 두 번째 방법은

Views프로젝트의 ” “디렉토리에 있는 “web.config”파일 ( 프로젝트 루트의 기본 web.config 가 아님 ) 에서 다음 섹션을 찾으십시오.

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

다음과 같이 사용자 정의 네임 스페이스를 추가 할 수 있습니다.

<add namespace="My.Custom" />

그러면 네임 스페이스가 모든 .cshtml (및 / 또는 .vbhtml) 파일에 추가됩니다. 또한 다음과 같이 뷰 상속을 변경할 수 있습니다.

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

문안 인사.


업데이트 :Nick Silberstein 영역에 대한 그의 알림에 @ 덕분에 ! 그는 말했다 :

당신이 내에서 작업하는 경우 지역 , 당신은 추가해야합니다 namespaceWeb.config에서 /Areas/<AreaName>/Views/보다는
/Views/


답변

도서관

@using MyNamespace

모형을 위해

@model MyModel


답변

ASP.NET MVC 3 Preview1에서는 Global.asax.cs의이 코드를 사용하여 모든 면도기보기에서 네임 스페이스를 가져올 수 있습니다.

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

RTM에서 Web.config 섹션을 통해이 작업을 수행하기를 바랍니다.


답변

나는이 발견 http://weblogs.asp.net/mikaelsoderstrom/archive/2010/07/30/add-namespaces-with-razor.aspx 모든 면도기 페이지에 사용자 정의 네임 스페이스를 추가하는 방법을 설명한다.

기본적으로 이것을 만들 수 있습니다

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

AssemblyInfo.cs에 다음 코드를 넣습니다.

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

InitializeApplication 메소드는 global.asax에서 Application_Start 전에 실행됩니다.


답변

알아야 할 한 가지 문제는 web.configin Views폴더 를 통해 네임 스페이스를 가져올 때 해당 폴더의 뷰에 대해 JUST 를 가져온다는 것 namespace입니다 . 당신은을 가져 오려면 수단은 에서 지역의 전망 , 당신은 또한 가져와야합니다 그 지역의에서, 지역의에있는 파일, 폴더,namespacenamespaceweb.configViews


답변

네임 스페이스 및 라이브러리

@using NameSpace_Name

모형을 위해

@model Application_Name.Models.Model_Name 

Razor 페이지의 목록 반복 (목록 항목에 액세스하려면 foreach 루프를 사용해야 함)

@model List<Application_Name.Models.Model_Name>

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