내가 아는 한 여기에는 몇 가지 경로가 있습니다. 세션 또는 응용 프로그램 캐시를 사용하여 las 방문 페이지를 저장 한 다음 을 사용하여 GoBack()
작업에 해당 페이지를 가져올 수 있습니다 (예 : 경로를 저장하여).
그러나 더 좋고 상태없는 aproach는 마지막 사용 컨트롤러 & 동작에 대한 두 가지 속성을 갖는보기 모델을 사용하여 하이퍼 링크를 렌더링하는 것일 수 있습니다. 그런 다음 액션 결과 (해당 레코드가없는 경우)를 /Navigation/Empty
액션으로 전달할 수 있습니다.
뷰 모델
public class NavigationVM
{
public string LastAction {get;set;}
public string LastController {get;set;}
}
네비게이션 컨트롤러 액션
public ActionResult Empty(string lastAction, string lastController)
{
var vm = new NavigationVM()
{
LastAction = lastAction,
LastController = lastController
}
return View(vm);
}
보기
@model = Namespace.NavigationVM
@Html.ActionLink("LinkName", Model.LastAction, Model.LastController)
EDIT
그러면 students 컨트롤러가 호출 된 곳을 찾아야합니다 (예제에서). 즉 : 여분의 경로 값을 사용하여 StudentsController
에 링크를 렌더링하십시오.
StudentController : 학생 컨트롤러에 하이퍼 링크
public ActionResult Index(string lastAction, string lastController)
{
.... // no students
return RedirectToAction("Empty", "Navigation", new RouteValueDictionary(new { lastAction = "Index", lastController= "Student"}));
}
보기 (각각 lastAction
및 lastController
으로이보기를 렌더링 작업 및 컨트롤러 사용) : 당신이 APP-을 구축하는 경우
@Html.ActionLink("Get students", "Index", "Student", new { lastAction= "Index", lastController = "CallingController" }, null)
을 같은 사이트에서 SPA (Single Page Application) 아키텍처를 조사하고 싶을 수도 있습니다. http://en.wikipedia.org/wiki/Single-page_application – jfrankcarr