ASP.NET WebForms에는 MasterPage 용 서버 측 파일이 있습니다. MasterPage에는 로그인 한 사용자의 세션 확인 및 Database의 기본 데이터 읽기와 같은 일부 작업이 허용됩니다.MVC3에서 공유 레이아웃보기 용 컨트롤러를 만들 수있는 방법
그러나 ASP.NET MVC에서 어떻게 공유 레이아웃 용 컨트롤러를 사용할 수 있습니까?
ASP.NET WebForms에는 MasterPage 용 서버 측 파일이 있습니다. MasterPage에는 로그인 한 사용자의 세션 확인 및 Database의 기본 데이터 읽기와 같은 일부 작업이 허용됩니다.MVC3에서 공유 레이아웃보기 용 컨트롤러를 만들 수있는 방법
그러나 ASP.NET MVC에서 어떻게 공유 레이아웃 용 컨트롤러를 사용할 수 있습니까?
정확히 무엇을하고 싶은가에 따라 이러한 공유 기능을위한 장소가 다릅니다. 예를 들어, 작업 필터를 사용하여 로그인 한 사용자에 대한 정보를 확인하기위한 전역 작업 필터로 등록 할 수 있습니다. 또는 데이터베이스에서 데이터를 읽으려면 DAL (데이터 액세스 계층) 클래스를 만들어 별도의 폴더에 저장해야합니다.
컨트롤러간에 코드를 공유하려면 기본 컨트롤러를 만들고 다른 컨트롤러를 상속 받거나 ControllerExtention 클래스를 만들 수 있습니다 (예 : DropDownLists를 채우는 코드).
그래서 원하는 작업을위한 단일 솔루션이 없습니다.
UPDATE : 그런 다음 모든 컨트롤러
public abstract class BaseController : Controller
{
protected virtual void PopulateDropDownValues()
{
// Code for populating DropDownLists that are shared by all Views...
// ViewBag.DropDownSelectList = selectList;
}
}
또는 그들 중 일부는 형식이 기본 컨트롤러 상속 할 수 있습니다 : 여기
가 BaseController 클래스의 예입니다
public class HomeController : BaseController
{
}
답장을 보내 주셔서 감사합니다. 기본 컨트롤러 또는 DropDownlist 채우기에 대한 예제를 만들 수 있습니까? –
업데이트 된 답변보기 – ataravati
나는 그것을 완전하게 얻었다. .. 고마워요. :) –
저는 보통 모든 컨트롤러가 상속받은 기본 컨트롤러 클래스를 만들고 여기에 유효성 검사 로직을 가지고 있습니다.
을 하위 작업 사용 – SLaks