WebMatrix 템플릿의 제과 예시처럼 주문을 클릭하면 각 상품에 해당하는 주문 내역으로 링크를 거는 페이지를 만들고 싶은데
주문을 클릭해서 들어가는 order.cshtml은 한 페이지인데 각 각의 주문마다 다른 페이지가 나타나게 할때 쓰는 코드를 알고 싶습니다.
예를 들면 5개의 음식점과 10개씩의 음식 메뉴가 있는데 가격이 각각 다릅니다. 물론 가게마다 중복되는 메뉴도 있구요
첫페이지에 10가지의 음식 목록이 제공되는데 메뉴를 클릭하면 그 해당하는 메뉴를 가진 음식점을 보여주며
그 음식점에서 내가 클릭한 음식의 가격이 얼마인지를 보여주는 페이지를 만들고 싶습니다.
data base에서 음식점이라는 table과 메뉴라는 table,
그리고 음식점과 메뉴 테이블에서의 기본키를 외래키로 받는 price 테이블을 만들었구요
첫 음식 메뉴 페이지 default.cshtml에서 내가 원하는 메뉴 버튼을 누를시 order.cshtml로 넘어가는데
제육볶음이라는 메뉴와 김밥이라는 메뉴를 클릭했을시 연결되는 페이지는 똑같이 order.cshtml인데
보여지는 목록은 제가 누른 음식 메뉴에 따라서 달라집니다. 이걸 order라는 한페이지에 구현하고 싶습니다.
인터넷도 찾아보고 예시도 찾아서 공부해보고 했는데 웹 개발 초짜이다보니 혼자힘으로는 많이 어렵네요 ㅎㅎ;;
이럴때 사용되는 razor 구문이라도 가르쳐주세요
Comment 5
-
달빛(안흥문)
2011.11.30 20:48
-
로자
2011.12.01 01:35
제가 웹 개발을 처음하다보니 그렇게 다양한 방법이 있는 줄 모르고 두루뭉실하게 설명해버렸네요;;
언급하신 것들 중에 제가 하고자 하는 것은 '한 페이지로 가게 한 후 그 곳에서 분기를 해서 표현해주는 방법'이라 생각됩니다
설명이 두루뭉실해서 번거롭게 해드려 죄송할 따름이네요 ㅎㅎ;;;
-
달빛(안흥문)
2011.12.02 09:08
설명하신 대로라면 그냥 일반적인 쇼핑몰의 형태를 따르시면 될 것 같습니다.
제과 템플릿에서처럼 메뉴를 클릭하면 해당 메뉴에 대한 내용이 나오듯 구성하시되 음식점 정보가 추가되는것 같은데 그것 역시 테이블 구성이 되어 있으니 만들어 놓으신 음식점, 메뉴, 프라이스 테이블을 조인해서 뿌려주시면 될 것 같습니다. 그러면 해당 메뉴를 선택했을때 해당 메뉴에 대한 정보, 가격 정보, 음식정 정보까지 불러와서 조회가 가능하게 됩니다.
원하시는게 이런것인지 잘 모르겠지만, 잘 안되시면 다시 댓글 달아주시기 바랍니다.
-
로자
2011.12.02 14:02
제가 webmatrix를 처음써봐서 razor 구문을 잘 모릅니다 ㅎㅎ;;
menu를 클릭하면 그 MENU테이블에서 기본키로 잡았던 m_no를 가지고 order페이지로 가서 가지고 온 m_no와 price에 외래키로 잡은 m_no가 일치하는 PRICE 테이블의 데이터 행만 불러온 후 그 행의 s_no(SHOP테이블에서 준 외래키)와 같은 SHOP테이블의 다른 열들을 불러오고 싶습니다
여기서 m_no를 가지고 다른 페이지로 넘어가는 것이랑 price테이블의 s_no와 SHOP테이블의 s_no가 일치할때 불러오게 하는 조건문을 작성하는 razor 함수가 어떤 것이 있는지 알고싶습니다
값을 가지고 오는건 ispost, request등을 사용하는 듯한데 사용방법을 모르겠구요
조건문 작성에는 자바처럼 if를 사용하는것 같은데 자바랑 조금 다른 듯해서 if 형식이 어떻게 되는지 모르겠습니다
-
달빛(안흥문)
2011.12.02 17:16
원하시는 것들은 정말 기초적인 기능들입니다...그런건 댓글로 설명할 성질의 것들도 안 되고요...
강좌가 있으니 참고하시기 바랍니다.
http://www.sqler.com/index.php?mid=bRazor&page=8&document_srl=196724
강좌를 보시고 공부를 하셔서 프로그래밍을 하시다가 막히시는 부분이 있으시다면 다시 질문해주시면 감사하겠습니다..
"각각의 주문마다" 라는 게 잘 이해가 안 가는데요. 좀 더 명확한 설명이 필요합니다. 예를 들어 상품이 백개라면 백개 전부 다 다른 페이지로 연결을 하시려는건가요? 딱 원하시는 기능이라면 분기를 해서 각각의 링크마다 다른 페이지로 연결되게 할 수도 있고...
일단 한 페이지로 가게 한 후 그 곳에서 분기를 해서 표현해주는 방법도 있고...다양합니다. 좀 더 자세한 설명이 필요할꺼 같습니다.