簡體   English   中英

我可以在Http get和Http Post中使用相同操作方法的視圖返回不同的對象嗎?

[英]Can i return different objects in views of same action method in Http get and Http Post?

我想返回控制器上相同動作方法的HTTPGet方法上的對象和HTTPPost方法中的不同對象,但是我不知道在視圖中寫什么,要獲取哪種模型。 這是控制器代碼,我一直在嘗試

[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";
}

視圖只能強類型化為單個類。 您不能有不同的控制器操作來返回相同的視圖並將不同的模型傳遞給該視圖。 您可以使用視圖模型:定義一個類,該類將保存該視圖所需的所有信息,然后讓您的控制器操作填充該視圖模型並將其傳遞給該視圖。

我認為將視圖鍵入到某個基類(對象),然后將模型強制轉換為基於get / post所需的模型將是可行的。 我不想保留它。 :-D

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM