2016-06-22 5 views
0

웹 사이트에 올 주문에 대한 확인 이메일을 생성하고 있습니다. 주문 정보를 보유하고있는 다음을 가지고 있습니다 :ASP.NET MVC에서 서비스의 데이터를 뷰 템플릿으로 전달

 IOrder order = null; 
     if (response.Data != null) 
     { 
      order = FillOrder(response.Data); 
     } 

이보다 더 많은 코드가 있지만 주문에 대한 모든 주문 데이터를 보유하고있는 객체를 채 웁니다. 다음으로 이메일을 포맷팅하는 매개 변수로 뷰 템플릿을 사용하는 서비스를 호출합니다. 이 서비스의 뷰 템플릿에 데이터를 전달하는 것이 실제로 모델이 아니거나 그와 같은 것이 아니므로 내가 만든 이메일 서비스에 전달할 올바른 형식의 뷰 템플릿을 실제로 얻을 수 있습니까? 그것이 어떤 의미인지 알기 바란다. 그렇지 않다면 나는 그것을 다시 말하려고 노력할 것이다. 고마워.

편집 : 내 질문은 내가 보내야 할 이메일을 포맷하는 것과 아무런 관련이 없으므로이 방법으로 문제를 다시 말하게하십시오. 주문 정보를 부분보기로 전달해야합니다. 이미 부분보기 및 형식을 취하는 코드 작업이 있으므로 데이터를 전달하는 일없이 뷰에 데이터를 전달할 수있는 방법을 알아야합니다. 컨트롤러 또는 모델.

+0

아니오 그것은 정말로 명확하지 않다. viewtemplate을 전달한 다른 서비스 코드를 게시하고이 주문 데이터와 함께 전달할 방법을 고려하십시오. – Rahul

답변

1

귀하의 편집 방법에서 귀하의 작업 방법에 관한 정보가 Order 일뿐입니다. 그럼 당신이 개 선택하는 경우 : 컨트롤러의 동작 방법에있어서

  1. 을 직접 Order 인스턴스를 반환이 게시 메소드를 호출하고, 부분 뷰에 전달합니다.

  2. IOrder 유형의 등록 정보를 갖는보기 모델을 작성하십시오. 액션 메소드에서 서비스를 호출하고 해당 viewmodel 속성을 채 웁니다. 차례로 그는 모델을 부분 뷰로 모델로 봅니다.

  3. 당신이 어떤 모델을 원하지 않는 경우

    이보기와 연관 될 다음 서비스를 호출하고 부분보기에

    IOrder order = serviceOrderMethod(); ViewBag.Order = order;

사용처럼 ViewBag 객체에 반환 값의 같은 첨부 말하는

@ViewBag.Order 
관련 문제