2014-11-06 2 views
0

MVC를 시작한 순간 ID와 같은 중요한 정보를보기에 전달하는 것이 가장 좋습니다.MVC 모범 사례보기간에 ID 전달

시나리오가 있다고 가정 해 봅시다. 저는 사용자가 등록 된 자동차 용 제품을 선택할 수 있도록하는 MVC 애플리케이션을 관리하는 자동차 서비스를 보유하고 있습니다.

사용자는 서비스를 받기 위해 제품을 선택하기 전에 먼저 자동차를 등록해야합니다.

등록보기에서 자동차 세부 정보를 입력하면 제출 버튼을 클릭하면 구매 제품 페이지로 리디렉션됩니다. 그들이 제출 버튼을 클릭 할 때 우리는 ID (아이덴티티에서 얻을 수있는)와 함께 자동차 세부 정보를 저장하고 데이터베이스에서 고유 한 카 ID를 생성합니다. 이 새로 생성 된 자동차 ID를 다음보기로 전달하고 싶습니다.

구매 제품 페이지에서 다른 제품 A 또는 B를 선택할 수 있으며, 선택하면 결제 페이지로 리디렉션됩니다.

지금 달성하고 싶은 것은 결제 페이지입니다. 이전 제품보기에서 자동차 및 제품 ID를 등록한 후 사용자가 얻을 수있는 자동차 ID를 얼마나 안전하게 보관할 수 있는지, 그래서 userID, carID, 및 productID.

세션을 진행하는 방법은 무엇입니까? 또는이 문제를 해결할 수있는 더 좋은 방법입니다. 작은 예를 든 사람이 나에게 큰 도움이 될 것입니다.

감사합니다.

+0

[MVC Music Store 튜토리얼] (http://www.asp.net/mvc/overview/older-versions/mvc-music-store/mvc-music-store-part-1)에서 살펴볼 가치가 있습니다.) 이것을 구현하는 방법을 알아 보려면 [nopCommerce] (https://nopcommerce.codeplex.com/)와 같은 무료 오픈 소스 전자 상거래 쇼핑 카트 중 하나를 사용하는 것이 좋습니다. –

+0

사용자 ID 이를 위해 세션을 피해야합니다. – heymega

+0

세션을 피해야하는 이유는 무엇입니까? – superted

답변

0

주어진 예에서 주어진 ID를 세션에 저장하는 것이 좋습니다. 웹은 상태를 유지하지 못하는 짐승이며 기본적으로 웹 사이트/응용 프로그램에 대한 사용자의 방문 기간 동안 상태를 기록하는 것입니다. 이는 본질적으로 어떤 세션이 수행하도록 설계되었는지입니다.

생성, 저장하고 세션에서 데이터를 검색하기가 간단하며과 같이 행해질 수있다 :

세션 개체로부터 변수를 가져 세션 객체

[HttpPost] 
public ActionResult Login(int carId) 
{ 
    ... 
    Session["carId"] = carId; 
    ... 
} 

에서 변수 설정

public ActionResult Load() 
{ 
    ... 
    int carId = Session["carId"]; 
    ... 
} 

이것은 기본 exampl이지만 e, 세션에서 간단한 유형의 데이터를 저장/검색하는 방법에 대한 아이디어를 제공합니다.

큰 개체와 같은 더 많은 정보를 저장하려면 [Serialize] 클래스 특성 outlined in my answer in this post을 사용할 수 있습니다.