0

我想在控制器中的相同操作方法的 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";
}
4

2 回答 2

0

视图只能强类型化到单个类。您不能让不同的控制器操作返回相同的视图并将不同的模型传递给该视图。您可以使用视图模型:定义一个类,该类将保存此视图所需的所有信息,然后让您的控制器操作填充此视图模型并将其传递给此视图。

于 2012-05-04T05:58:08.717 回答
0

我认为将视图输入到某个基类(对象)然后将模型转换为您需要的基于 get/post 的任何内容是可行的。我不想维护它。:-D

于 2012-05-04T05:59:37.987 回答