加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.net MVC – 呈现包含不同类型的List,每种类

发布时间:2020-12-16 07:14:22 所属栏目:asp.Net 来源:网络整理
导读:想象一下,我有一个实现名为ISummary的接口的对象列表 此列表中的对象可能具有其他属性,即. public interface ISummary { Guid Id {get;set;} string Title {get;set;} DateTime Created {get;set;}}public class GigSummary: ISummary { Guid Id {get;set;}
想象一下,我有一个实现名为ISummary的接口的对象列表
此列表中的对象可能具有其他属性,即.

public interface ISummary {
  Guid Id {get;set;}
  string Title {get;set;}
  DateTime Created {get;set;}
}

public class GigSummary: ISummary {
 Guid Id {get;set;}
 string Title {get;set;}
 DateTime Created {get;set;}
 string VenueName {get;set}
 string Band {get;set;}
}

public class NewsSummary: ISummary {
 Guid Id {get;set;}
 string Title {get;set;}
 DateTime Created {get;set;}
 string Author{get;set}
}

我现在将这个Gigs和News Summary对象列表(作为一个ISummary列表)作为模型传递给视图.

我想使用列表中包含的每种类型的不同部分来呈现此列表.

我怎么能这样做ASP.NET MVC?

解决方法

我能想到的最明显的方法是做一些事情:

foreach(ISummary summ in listOfISummary) {
    Html.RenderPartial(String.Fomat("~/Views/Shared/{0}Renderer.ascx",summ.GetType.ToString()),summ,ViewData);%>
}

并使用命名约定创建一个强类型视图,如NewsSummaryRenderer.ascx.

我希望你可以将它移到辅助方法中,但是我会通过扩展方法将其添加到现有的助手之一,而不是像之前建议的那样将它放在后面的代码中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读