是否可以将多个模型对象发送到ASP.NET MVC视图?
发布时间:2020-12-16 07:30:14 所属栏目:asp.Net 来源:网络整理
导读:在我的开始页面上,我想显示我在其他页面上的几个不同列表中的第一个项目 – 有点像SO上的“最近”页面显示最近的帖子和最近的评论.在我的情况下,我想列出留言簿中的两个最新帖子,以及下一个即将举行的活动. 为此,我如何将多个Model对象传递给View?它甚至可
在我的开始页面上,我想显示我在其他页面上的几个不同列表中的第一个项目 – 有点像SO上的“最近”页面显示最近的帖子和最近的评论.在我的情况下,我想列出留言簿中的两个最新帖子,以及下一个即将举行的活动.
为此,我如何将多个Model对象传递给View?它甚至可能吗?如果没有,应该怎么做? 解决方法
替代tvanfosson的解决方案是创建一个强类型视图,以便您获得cvompile-time检查并减少“魔术字符串”.
例… 假设您有班级: public class FrontPageViewData { public List<Post> Posts { get; set; } public List<Comment> Comments { get; set; } } 然后在你的控制器…… public ActionResult Index() { FrontPageViewData viewData = new FrontPageViewData(); viewData.Posts = DB.Posts.ToList(); viewData.Comments = DB.Comments.ToList(); return View(viewData); } 最后……在你看来.如果您设置视图注册行以使用它,这将允许您使用intellisense访问传入的视图数据(注意部分.这意味着Model属性将是传入的viewdata参数的实例,进入您的VIew方法控制器. <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<FrontPageViewData>" %> <asp:Content ID="MainContent" ContentPlaceHolderID="MainContent" runat="server"> <%= Model.Posts.Count().ToString(); %> <%= Model.Comments.Count().ToString(); %> </asp:Content> 当然这只是一个演示,我不会逐字使用这个代码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 独立开发/部署MVC区域
- asp.net – 编辑条目时的实体框架DateTime格式
- asp.net – 使用HtmlTextWriter渲染服务器控件?
- asp.net-mvc – 如何使用ajax get或post在带有参数的mvc中将
- asp.net – web配置错误:无法识别的属性’xmlns:xdt’.请
- asp.net – 为不同项目中的所有Web应用程序网页添加命名空间
- asp.net-mvc – ASP.NET MVC:添加将DisplayName合并到自定
- asp.net – 如何将会话超时设置超过20分钟.
- .net – 为什么要使用asp:HyperLink
- asp.net-core – Asp.Net 5中的自定义ClaimsPrincipal(Mvc
推荐文章
站长推荐
- asp.net – 将DetailsView行组合在一起?
- asp.net-mvc – ASP.NET MVC – 与使用模型注释相
- asp.net使用H5新特性实现异步上传的示例
- asp.net – DropDownList获取底层对象
- asp.net-mvc – 将SignalR与现有授权集成
- asp.net – 在DB或文件中保存长详细信息?
- asp.net-mvc-4 – ViewBag的Html.ActionLink值
- asp.net – 如何在Sitecore中以编程方式创建项目
- asp.net-mvc – MVC控制器与开箱即用的Sitecore控
- asp.net-mvc – ASP.NET MVC – 正确使用View Mo
热点阅读