나는 asp.net mvc에서 초보자입니다. asp.net mvc4 빈 응용 프로그램을 만들고 엔터티 모델을 추가했습니다. 메뉴 범주, 머리글, 바닥 글 vb를 표시 할 레이아웃 페이지가 있습니다. 그러나 레이아웃 페이지에 하나 이상의 개체 개체 (마지막 게시물, 범주, 태그)가 포함 된 데이터를 보내려면 어떻게해야합니까? 감사합니다Asp.net mvc 면도기 - 기본 레이아웃으로 데이터 보내기
2
A
답변
11
데이터를 (내가 생각한 데이터베이스에서 가져온) 레이아웃보기로 전달하려는 경우 응용 프로그램의 모든 페이지에 전달되는 데이터가있는 시나리오가 있습니다.
public class BaseController : Controller
{
public LayoutModel model;
public BaseController()
{
// Here you will use some business logic to populate your Layout Model
// You might also consider placing this model into the cache to prevent constant fetching of data from the database on each page request.
model = _service.Populate();
ViewBag.LayoutModel = model;
}
}
을 당신은 내가 당신의 레이아웃을보기 위해 필요한 데이터를 가져 오기 위해 기본 컨트롤러의 생성자를 사용 볼 수 있듯이 : 그래서 내가 할 것입니다 것은 모든 컨트롤러가 상속되는 기본 컨트롤러를 만드는 것입니다. model이라는 속성을 만들고 Populate라는 비즈니스 로직 메서드를 사용했습니다.이 변수는 모델 변수를 채우기 위해 직접 작성해야합니다. 그런 다음 모델을 ViewBag에 배치합니다. 나는이 설정 한 후
는 내가 내 솔루션에서 만드는 모든 컨트롤러는 기본 컨트롤러에서 상속 할 필요가 :
모든 컨트롤러는 이제 기본 컨트롤러에서 모델 속성에 액세스 할 수 있음을 의미public class HomeController : BaseController
{
// Controller code here...
}
.
는 여기에서 (뷰의 상단에 로컬 변수를 선언하고 기본 유형으로 캐스팅)과 같이 각 뷰에 ViewBag.LayoutModel를 사용할 수 있습니다
@{
LayoutModel MenuModel = ViewBag.LayoutModel;
}
을 다음과 같이 사용할 이 :
@MenuModel.SomeProperty
이것은 단지 하나의 방법 일뿐 아니라 덜 복잡하고 덜 복잡한 방법이 있습니다. 당신은 당신 자신의 연구를 할 필요가 있으며 어떤 기술이 당신에게 가장 잘 맞는지를 알아야합니다 ...
관련 문제
- 1. ASP.NET MVC 면도기 - 컨트롤러에 데이터 보내기
- 2. ASP.NET MVC 면도기 병합
- 3. Asp.Net Mvc 면도기 @ 및 @
- 4. 면도기 레이아웃으로 웹폼보기 사용
- 5. ASP.NET MVC 면도기 @ 모델 구문 오류
- 6. ASP.Net MVC 면도기 면도기 및 개수 기능
- 7. ASP.NET MVC 3 면도기 : 컨트롤러에 JavaScript 배열 보내기
- 8. ASP.NET MVC 3 면도기 Intellisense
- 9. ASP.NET MVC 면도기 DropDownList로 KendoGrid
- 10. ASP.NET MVC 면도기 개체 HtmlAttributes
- 11. ASP.NET MVC - 면도기 및 JavaScript
- 12. asp.net mvc 면도기 코드 편집기
- 13. Asp.Net MVC 면도기 마크 업이는 asp.net MVC 모바일 응용 프로그램입니다
- 14. ASP.NET MVC 및 Ajax 데이터 보내기
- 15. ASP.NET MVC 면도기 : 동적으로 HTML을 작성하십시오.
- 16. Asp.net MVC Site.master 및 면도기 스위치
- 17. ASP.NET MVC 3 면도기 뷰 제한
- 18. ASP.NET 면도기 : 매개 변수로 변수를 보내기
- 19. ASP.NET MVC DLL HELL, 면도기 어셈블리 문제
- 20. asp.net mvc 면도기 루프의 행에 대체 색상
- 21. 그룹에 결과 표시 asp.net mvc 면도기 linq
- 22. MVC 면도기
- 23. ASP.NET MVC 3 면도기 :보기에서 컨트롤러로 데이터 전달하기
- 24. asp.net mvc 면도기 응용 프로그램 - 범위 내의 데이터베이스에서 데이터 선택
- 25. JavaScript와 C# 컨트롤러간에 데이터 전달 Asp.Net MVC 4 면도기
- 26. ASP.Net MVC : 컨트롤러에 JSON 보내기
- 27. TinyMCE .NET MVC 레이아웃으로 데이터 전송
- 28. MVC 면도기 코드 실행보기
- 29. Mvc 면도기 번들
- 30. asp.net mvc 페이저 (면도기 문법 사용)
여기에 설명 된 많은 이야기가 있습니다 : http://stackoverflow.com/questions/5207289/asp-net-mvc- 3-layout-viewbag-data-across-all-child-views – frictionlesspulley