ASP.NET MVC의 다른 컨트롤러에서 보기 표시
다른 컨트롤러에서 보기를 표시할 수 있습니까?
예를 들어, 나는 가지고 있습니다.CategoriesController그리고 aCategory/NotFound.aspx뷰. 에 있는 동안CategoriesController나는 쉽게 돌아올 수 있습니다.View("NotFound").
이제 나한테 있다고 말해봐요.ProductsController및 제품을 추가하기 위한 작업 및 보기.그러나 이 작업을 수행하려면 제품을 추가할 카테고리가 있어야 합니다.예를들면,Products/Add/?catid=10.
다음을 기준으로 카테고리를 찾을 수 없는 경우catid저는 보여드리고 싶습니다.NotFound카테고리 컨트롤러에서 보기(Categories) 컨트롤러에서 보기CategoryNotFound제품 컨트롤러 아래에서 볼 수 있습니다.
이것이 가능한가요 아니면 제가 잘못된 방식으로 일을 구성하고 있나요?이것을 하는 좋은 방법이 있습니까?
예. 기본적으로 ASP.NET MVC는 다음에서 먼저 확인합니다.\Views\[Controller_Dir]\하지만 그 후에 뷰를 찾지 못하면 체크인합니다.\Views\Shared.
공유 디렉토리는 특히 여러 컨트롤러 간에 보기를 공유하기 위해 존재합니다.공유 하위 디렉토리에 보기를 추가하기만 하면 바로 이동할 수 있습니다.
네가 한다면.return View("~/Views/Wherever/SomeDir/MyView.aspx")원하는 보기를 반환할 수 있습니다.
사용할 수 있는 항목:
return View("../Category/NotFound", model);
ASP.NET MVC 3에서 테스트되었지만 ASP.NET MVC 2에서도 작동해야 합니다.
네, 가능합니다.반환 aRedirectToAction()다음과 같은 방법:
return RedirectToAction("ActionOrViewName", "ControllerName");
해보셨습니까RedirectToAction?
네, 가능합니다.다음과 같은 작업 반환:
return RedirectToAction("View", "Name of Controller");
예:
return RedirectToAction("Details/" + id.ToString(), "FullTimeEmployees");
이 접근 방식은 GET 메소드를 호출합니다.
또한 다음과 같은 작업에 값을 전달할 수 있습니다.
return RedirectToAction("Details/" + id.ToString(), "FullTimeEmployees", new {id = id.ToString(), viewtype = "extended" });
JavaScript/jQuery에서 임의의 컨트롤러를 호출할 수도 있습니다.404 또는 다른 사용자 컨트롤/페이지를 반환하는 컨트롤러가 있다고 가정합니다.그런 다음 클라이언트 코드에서 컨트롤러를 실행할 주소를 호출하여 HTML 형식으로 결과를 반환할 수 있습니다. 클라이언트 코드는 반환된 결과를 가져와 원하는 페이지 어디에나 저장할 수 있습니다.
이 코드를 사용하면 다음과 같은 컨트롤러를 얻을 수 있습니다.
var controller = DependencyResolver.Current.GetService<ControllerB>();
controller.ControllerContext = new ControllerContext(this.Request.RequestContext,
controller);
언급URL : https://stackoverflow.com/questions/879852/display-a-view-from-another-controller-in-asp-net-mvc
'programing' 카테고리의 다른 글
| 데이터베이스를 호출하는 방법 및 위치.작성 및 데이터베이스를 확인합니다.이주? (0) | 2023.05.18 |
|---|---|
| 목록에서 여러 요소 삭제 (0) | 2023.05.18 |
| Xcode에서 "작업관리" 주석을 어떻게 표시합니까? (0) | 2023.05.13 |
| Xcode 프로젝트 이름 변경 방법 (0) | 2023.05.13 |
| xcodebuild가 스키마를 포함하지 않는다고 말합니다. (0) | 2023.05.13 |