컨트롤러에서 다른보기로 리디렉션 할 수 있습니까?
예를 들어 내 모든 컨트롤러는 특정 기준이 충족되지 않으면 다른보기로 리디렉션하려는 생성자가있는 사용자 지정 컨트롤러에서 상속됩니다. 이해가 되길 바랍니다.
답변
RedirectToAction()
메서드 를 사용 하면 리디렉션하는 작업이보기를 반환 할 수 있습니다. 이를 수행하는 가장 쉬운 방법은 다음과 같습니다.
return RedirectToAction("Index", model);
그런 다음 Index 메서드에서 원하는 뷰를 반환합니다.
답변
if (true)
{
return View();
}
else
{
return View("another view name");
}
답변
가장 간단한 방법은 return View를 사용하는 것입니다.
return View("ViewName");
MVC C # / .NET을 사용하는 경우 “ViewName”의 실제 이름은 프로젝트에서 ViewName.cshtml과 같아야합니다.
답변
나는 이것에 대한 조건이 무엇인지 100 % 확신하지 못하지만 위의 내용이 직접 작동하지 않았으며 가까워 졌다고 생각했습니다. “ObjectID”라는 모델에서 뷰에 “id”가 필요했기 때문이라고 생각합니다.
다양한 정보를 가진 모델이있었습니다. 이드가 필요했습니다.
위의 전에 새 System.Web.Routing.RouteValueDictionary 개체를 만들고 필요한 ID를 추가했습니다.
(System.Web.Routing.)RouteValueDictionary RouteInfo = new RouteValueDictionary();
RouteInfo.Add("id", ObjectID);
return RedirectToAction("details", RouteInfo);
(참고 : 문제의 MVC 프로젝트는 내가 만들지 않았기 때문에 올바른 “이상한”비트가 어디에 있는지 모르겠습니다.)
답변
수행 할 수있는 작업은 다음과 같습니다.
return View("another view name", anotherviewmodel);