繁体   English   中英

如何在一个视图中返回并处理两个不同的模型?

[英]How to return and handle two different models in one view ?

我有一个控制器,我要将一个User对象传递给另一个基于User模型的视图,该视图基于Stories模型。 精细。 现在,我将User对象返回到视图(一个基于Stories模型的视图),并希望在那里使用其属性,但是由于它基于Storys模型,因此它期望Stories对象并引发不匹配错误。

我该如何处理? 都喜欢

控制器(已将用户对象传递给的控制器)

 [HttpGet]
        public ActionResult GetImagesStories(Users u)
        {

            listofStories = bo.GetAllImages();
            ViewBag.Grid = listofStories;

            return View("GetImagesStories", u);
        }

传递它的控制器。

 [HttpPost]
        public ActionResult Authenticate(Users u)
        {
            if (basicOps.getUsersLogin(u.UserName, u.Password)) 
            {
               u.UserID = 80909;
               return RedirectToAction("GetImagesStories", "Stories", u);

            }

            return View("Authenticate");


        }

第一个控制器返回的视图具有以下内容:

@model HimHer.Models.Stories

而不是将您的Users作为ViewModel解析到视图,您应该在Stories viewModel上具有属性User(s)

我通常在使用后为模型命名:

在传入的http调用中用作参数的模型,例如:UserRequestModel在视图中使用的模型,例如:UserViewModel在ajax / json上使用的模型返回:UserResponseModel

因此,如果ViewModel需要RequestModel中的数据,则可以传递这些属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM