2013-08-19 5 views
1

mvc에서 새로운 기능입니다. 지식의 부족으로 인해 나는 한 가지 할 수없는 것입니다 .uppose 나는 Index.cshtml보기가 있고이보기는 홈 폴더에 있습니다. 나는 home 폴더에 register 폴더를 가지고 있고 register.cshtml이라는 뷰가있는 register 폴더에있다. 홈 폴더에 catalog라는 다른 폴더가 있습니다. 내 응용 프로그램을 실행할 때 기본적으로 인덱스보기가 렌더링되고 두 개의 단추 또는 두 개의 링크 단추가 표시됩니다. 하나는 버튼 텍스트이고 다른 하나는 버튼 텍스트입니다.mvc의 뷰 간 이동 방법

사용자가 등록 버튼을 클릭하면 등록보기가로드되고 사용자가 카탈로그 버튼을 클릭하면 카탈로그보기가로드됩니다. 내가 어떻게 할 수 있니? 어떤 종류의 코드를 작성해야하며 어떤 종류의 코드를 global.asax 파일에 매핑하기 위해 작성해야합니까?

또 다른 질문은 하나의보기에서 다른보기로 이동할 때 내 모델이나보기 모델을 전달할 수 있다는 것입니다.

샘플 코드로 & 개념을 찾고 있습니다. 감사합니다

+0

에 대답했다. 같은 컨트롤러에서 작업을 수행하는 데 2 ​​개의 폴더가있는 이유는 무엇입니까? 컨트롤러와 뷰 코드를 게시하십시오. – ckv

답변

1

, 나는 웹 응용 프로그램에 대한 지식이 폴더는 웹 응용 프로그램에서 서로 다른 영역을 분류하는 데 사용되는 ASP.NET에서 오는 아이디어를 왔어요. 만약 내가 옳다면, 당신은 컨트롤러와 ASP.NET에서 폴더를 맵핑해야합니다. ASP.NET MVC에서는 (비유 할만은 없지만, 시작하는 것이 도움이됩니다.) 이 방법으로 세 개의 컨트롤러가 있거나 하나의 컨트롤러에 세 개의 액션이 있습니다. 나는 두 번째 것을 고를 것이다.

컨트롤러 :

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     var model = new TheViewModel(); 
     return View(model); 
    } 

    public ActionResult Register() 
    { 
     return View(); 
    } 

    public ActionResult Catalog() 
    { 
     return View(); 
    } 
} 

보기 :

@model MvcApplication1.ViewModels.TheViewModel 
@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 

@Html.ActionLink("Register", "Register") 
<br/> 
@Html.ActionLink("Catalog", "Catalog") 

두 번째 질문 등록 및 가정이 다른 컨트롤러입니다 Passing ViewModel in ASP.Net MVC from a View to a different View using Get

0

해당 버튼을 클릭하여 해당 컨트롤러/조치를 호출하십시오.

등록 버튼 처리기의 경우 /home/register. 로 이동하십시오. 등록 기능을 보려면보십시오. 홈 컨트롤러의 등록 작업에서 표시 할보기를 반환하십시오. 귀하의 질문을 고려

public ActionResult Register() 
{ 
return View(); 
}