2012-05-04 1 views
0

HTTPGet 메서드와 HTTPPost 메서드에서 컨트롤러의 동일한 작업 메서드에있는 개체를 반환하고 싶지만, 어떤 모델에서 뷰에 쓸 것인지 알 수 없습니다. 여기 이 (Table_a 또는 UDP_get_a_Result). 내가보기에 쓸 수있는 모델 혼란 스러워요 Http get 및 Http Post에서 동일한 작업 메서드 뷰에서 다른 객체를 반환 할 수 있습니까?

[HttpGet] 
public ActionResult Create() 
     { 
      var intSrNo = Convert.ToInt64(TempData["sr_no"]); 
      MEntities obj_entity = new MEntities(); 
      UDP_get_a_Result obj_proc = obj_entity.UDP_get_a(intSrNo).SingleOrDefault(); 
      return View(obj_proc); 
     } 

[HttpPost] 
     public ActionResult Create(Table_a obj_a) 
     {   
      if (ModelState.IsValid) 
      { 
       db.Table_a.AddObject(obj_a); 
       db.SaveChanges(); 
       return RedirectToAction("Index"); 
      } 
      return View(obj_a); 
     } 

을 시도하고, 컨트롤러 코드와 내가 페이지가로드되고 모두 HttpGet 값을 표시하는 방법을 때 원하는 HttpPost 때 제출이 클릭됩니다.

보기

@model ABC.models.Table_a   
@{ 
    ViewBag.Title = "Create"; 
} 

답변

0

는 전망은 강력 하나의 클래스에 입력 할 수 있습니다. 동일한 뷰를 리턴하고 다른 모델을이 뷰에 전달하는 다른 컨트롤러 조치를 가질 수 없습니다. 뷰 모델을 사용할 수 있습니다.이 뷰에 필요한 모든 정보를 보유 할 클래스를 정의한 다음 컨트롤러 작업으로이 뷰 모델을 채우고이 뷰에 전달할 수 있습니다.

0

기본 클래스 (객체)에 뷰를 입력 한 다음 get/post를 기반으로하는 데 필요한 모델을 캐스팅한다고 생각합니다. 나는 그것을 유지하고 싶지 않을 것이다 tho. :-D

관련 문제