2012-05-04 55 views
0

我想在HTTPGet方法上返回一個對象,並在控制器中的相同動作方法的HTTPPost方法中使用不同的對象,但是我不知道在視圖中寫什麼,要獲取哪個模型。 這裏是控制器代碼,我一直在試圖我可以在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); 
     } 

我很困惑鑑於寫哪個模型。(TABLE_A或UDP_get_a_Result),我想這兩個HTTPGET顯示值時,頁面加載和HttpPost時提交被點擊。

查看

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

回答

0

視圖只能被強類型到一個類。您不能有不同的控制器操作返回相同的視圖並將不同的模型傳遞給此視圖。您可以使用視圖模型:定義一個類,該類將包含此視圖所需的所有信息,然後讓您的控制器操作填充此視圖模型並將其傳遞到此視圖。

0

我認爲它可以將視圖鍵入某個基類(對象),然後將該模型轉換爲您需要的基於get/post的任何內容。我不想維護它。 :-D

相關問題