2011-03-08 5 views
0
Class Student { 
    String Name {get; set} 

    //Extended property of the student 
    School Shooling {get; set;} 
} 


public StudentControlelr() 
{ 

public SchoolInfo (int? ID) 
{ 
     Student s = StudentRepository.GetStudentByID(id) 
     Return View ("Schooling/Index", s.Schooling); 
} 

} 

for some reason i have to make this view as a shared view 
// Views/Shared/schooling.ascx 
Return View ("Schooling", s.Schooling); 

이 기능은 작동하지만 다른보기 폴더에서 작동하지 않는 이유는 무엇입니까? 여기에 뭔가 빠졌나요?다른 컨트롤러에서보기를 반환하는 방법

ASP.net 초보자 유의하시기 바랍니다.

친절 감사 인 Vinay

답변

3
당신은 행동을 리디렉션 할 수 있습니다

:

return RedirectToAction("Action", "Controller"); 

여기에 유일한 문제는 당신이 모델을 통과 할 수 없다는 것입니다,하지만이 문제를 해결 얻을 수있는 몇 가지 방법이 있습니다 :

패스 매개 변수를 부하에 따라 모델을 얻을

return RedirectToAction("Action", "Controller", new { id = 1}); 

TempData

TempData["MyModel"] = s.Schooling; 
return RedirectToAction("Action", "Controller"); 
0
이 작동

를 사용하여 모델을 통과하지만, 더 나은 솔루션이 다른 행동을 리디렉션하는 것입니다 :

return View ("~/Views/Schooling/Index.aspx", s.Schooling); 

참고 : 당신이 .ASPX 변경해야합니다 ASPX보기를 사용하지 않는 경우보기 확장.

관련 문제