ASP.NET MVC에서 사용자 지정 클래스를 어디에 넣을 수 있습니까?
몇 가지 유틸리티 기능과 페이지 매김 기능이 있습니다. 두 개 이상의 컨트롤러에서 이러한 클래스 함수를 사용할 수 있도록 이러한 함수에 대해 각각 Utility 및 Pagination이라는 클래스를 만들고 싶습니다.
그렇다면이 클래스를 폴더 구조에 어디에 넣을 수 있으며 어떻게 액세스 할 수 있습니까?
Helpers루트 아래에 새 폴더를 만들고 클래스를 실제로 거기에 유지할 수 있습니다. 내 클래스를 다른 네임 스페이스 아래에 유지합니다.Helpers
namespace MyProject.Helpers
{
public class CustomerHelper
{
//Do your class stuff here
}
}
다른 클래스 (예 : 컨트롤러)에서이를 액세스하려면 정규화 된 이름을 사용할 수 있습니다.
var custHelper=new MyProject.Helpers.CustomerHelper();
또는
Import정규화 된 이름을 건너 뛸 수 있도록 맨 위에 설명을 추가합니다 .
//Other existing Import statements here
using MyProject.Helpers;
public class RackController : Controller
{
public ActionResult Index()
{
var custHelper=new CustomerHelper();
//do something with this
return View();
}
}
Helper 메서드를 다른 프로젝트에서도 사용할 수 있다고 생각되면 물리적으로 별도의 프로젝트 (클래스 라이브러리 형식) 에 유지하는 것을 고려할 수 있습니다 . 프로젝트에서 이것을 사용하려면이 프로젝트에 대한 참조를 추가하고 위에서 한 것처럼 사용하십시오 (정규화 된 이름 사용 또는 import 문 사용).
논리적이고 편리한 곳에 헬퍼 클래스를 배치 할 수 있습니다.
개인적으로 Helpers메인 프로젝트 폴더에서 폴더를 만듭니다.
클래스 이름을 완전히 규정하거나 using명령문을 사용하여 어디서나 사용할 수 있습니다 .
Razor보기에서는 다음을 사용합니다.
@using MyProject.Helpers
컨트롤러 또는 모델에서
using MyProject.Helpers;
또 다른 접근 방식은 기본 컨트롤러 클래스를 만들고 여기에 공통 로직을 추가하고 기본 컨트롤러에서 컨트롤러를 파생시키는 것입니다.
public class MyBaseController:Controller
{
public void CommonFunction()
{
}
}
다음과 같이 사용 ...
public HomeController:MyBaseController
{
}
새 프로젝트를 만든 다음 공통 클래스를 프로젝트에 넣을 수 있습니다. 그것들을 사용하려면 프로젝트 참조를 추가하십시오.
또한 클래스의 "Build Action"을 "Compile"로 설정해야합니다. Visual Studio 2015에서 기본적으로 App_Code 내에서 생성 된 모든 클래스 (오른쪽 클릭-> 추가-> 클래스)는 빌드 작업으로 "콘텐츠"를 얻습니다.
참고 URL : https://stackoverflow.com/questions/11515973/where-can-i-put-custom-classes-in-asp-net-mvc
'Program Club' 카테고리의 다른 글
| 여러 열에서 NOT 선택 (0) | 2020.12.04 |
|---|---|
| pymongo에서 "show dbs"를 발행하는 방법 (0) | 2020.12.04 |
| PKIX 경로 빌드를 무시하는 방법 실패 : sun.security.provider.certpath.SunCertPathBuilderException? (0) | 2020.12.04 |
| / app / 폴더를 공개하지 않고 웹 호스트 하위 폴더에 Laravel 4를 설치하는 방법은 무엇입니까? (0) | 2020.12.04 |
| scikit .predict () 기본 임계 값 (0) | 2020.12.04 |