asp.net-mvc – MVC中的部分视图
|
我是MVC的新手,刚刚遇到了我需要一些帮助的场景. 我将简要概述我的场景,好像它是一个我更熟悉的Web窗体应用程序. 场景: 我有一个主页,其中列出了最近的10篇博文,以及“归档树”(按时间顺序列出了年份/月份,以及这些年/月中每个博客条目的链接). 我将此“存档树”创建为用户控件,并在我的主页上输出该用户控件. 我还将此存档树用户控件输出到我的主博客页面的一侧 – 博客页面仅显示一篇博文的详细信息. 我还想在我的Web应用程序中的几个其他页面上重用此存档树控件. MVC: 我有一个’PhotoController’控制器,它有一个ActionResult方法,负责获取所选照片博客帖子(id)的详细信息. 我想在我的照片博客页面上包含一个部分视图(存档树,它将呈现多个记录),它将遍历多个照片记录(List< Photo>). 我可以创建一个视图模型,它包含一个’Photo’属性(用于呈现单个照片博客记录详细信息)和一个名为’PhotoArchive’的第二个属性,它是一个List< Photo>. 我对这种方法的关注是,当我在整个网站的某些其他部分重新使用这个“存档树”部分视图时,我不一定想要通过相同的视图模型(包含父视图中的“Photo”和“PhotoArchive”对象.例如,我的主页不需要通过“照片”对象传递到呈现主页的视图,但我仍然想在我的主页上的其余HTML中输出我的“存档树”部分视图. 我期待有一个简单的解决方案,我目前还不知道对MVC这么新. 解决方法有几种方法可以实现这一目标:你可以使用Html.RenderAction()http://www.asp.net/mvc/videos/aspnet-mvc-2-render-action 或者您可以使用不同的视图模型 class HomePageViewModel {
IEnumerable<Blog> PhotoArchive { get; set; }
}
class BlogPageViewModel {
IEnumerable<Blog> PhotoArchive { get; set; }
Blog Photo { get; set; }
}
并在调用Html.RenderPartial时传递PhotoArchive属性(“view”,model.PhotoArchive) 或者你可以使用和界面 interface IMyViewPage {
IEnumerable<Blog> PhotoArchive { get; set; }
}
class MyViewModel : IMyViewPage{
//...
Blog PhotoBlog { get; set; }
}
和Model.RenderPartial(“视图”,模型) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.Net MVC中的分页和路由
- asp.net-mvc – 如何使用ASP.net MVC实现动态面包屑?
- ASP.NET MVC4安全性,身份验证和授权
- asp.net-mvc-4 – 如何解决错误“安全透明方法尝试”System
- asp.net – 可以在Web.config中配置一个位置,只允许本地连接
- asp.net – 重音法语字符
- asp.net-mvc-3 – ASP.NET MVC 3控制器路由 – 使家庭控制器
- asp.net-mvc – 在MVC4中为ViewModel设置默认值的适当方法?
- asp.net-mvc-3 – 如何添加一个锚标签到我的URL?
- asp.net – IIS Web服务器中的此错误(扩展配置)是什么?
- asp.net – System.InvalidOperationException:
- asp.net-mvc – 从MVC版本1迁移后,ASP.NET MVC 2
- asp.net-mvc-5 – 如何添加声明在ASP.NET身份
- asp.net-mvc – IIS 7.0不显示自定义错误页面
- 发送电子邮件asp.net c#
- asp.net-mvc – ASP.NET MVC页面不通过3G或某些代
- asp.net – .NET – 如何调试DLL?
- asp.net – 使用jquery调用ascx页面方法
- asp.net-mvc – 使用SharpDevelop构建ASP.NET MV
- Asp.net形成认证和多个域
