asp.net-mvc – 使用UIHint的ASP.NET MVC 3自定义显示模板 – 是
发布时间:2020-12-16 04:36:19 所属栏目:asp.Net 来源:网络整理
导读:如果我有这样的ViewModel: public class MyViewModel{ [UIHint("SomeTemplate")] public ICollectionSomeViewModel Submodel { get; set; }} 一个带有HTML行的强类型视图,如下所示: @Html.DisplayFor(model = model.Submodel) 以及带有如下签名的显示模板
如果我有这样的ViewModel:
public class MyViewModel { [UIHint("SomeTemplate")] public ICollection<SomeViewModel> Submodel { get; set; } } 一个带有HTML行的强类型视图,如下所示: @Html.DisplayFor(model => model.Submodel) 以及带有如下签名的显示模板: @model MvcApplication1.Models.SomeViewModel 我得到一个错误,说“模型项的类型为List< SomeViewModel>但这个字典需要SomeViewModel类型的模型.”. 这是有道理的,但我希望MVC的内置模板智能会启动,看到它是一个IEnumerable的东西,并努力调用我的模板N次,就像它通常为Html.DisplayFor没有暗示. 所以看起来[UIHint]覆盖了这个功能? 显然我可以指向另一个接受集合的模板,并调用Html.DisplayForModel(),基本上模拟MVC智能.但我希望避免这种情况.老实说,我宁愿做一个foreach循环而不是那个1行“包装”模板. 还有更好的想法? 就像我想说的那样:“嘿MVC,为每个人提供一个模板.但不是使用name-convention来找到模板,这里有一个提示”. 解决方法
UIHint表示“使用名为XXX的模板渲染此模型”.所以你必须声明你的displaytemplate“SomeTemplate”
@model MvcApplication1.Models.ICollection<SomeViewModel> 并在foreach中显示每个项目. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-4 – 如何在一个Web应用程序中最好地组合Web A
- 设计模式 – 为什么在绿地ASP.Net MVC应用程序中使用提供者
- asp.net-mvc-4 – 使用公共IP地址绑定应用程序
- asp.net-mvc – System.NotSupportedException:不支持指定
- IIS / .NET上的Blackberry推送服务启动器
- iis-7 – 从IIS 7上的经典ASP创建COM组件时出现“Server.Cr
- asp.net-mvc-4 – LinkedIn在MVC4中使用DotNetOpenAuth的完
- 看看.NET Core几个Options的简单使用
- asp.net – 在SQL Server中只获取浮点数的小数部分
- asp.net-mvc – 如何在jqueryui工具提示中显示jqueryui验证
推荐文章
站长推荐
- asp.net-mvc – 保持viewdata在RedirectToAction
- .net – 如何使用SmtpClient.SendAsync发送带有附
- asp.net mvc – 如何实现面包屑助手在asp.net mv
- asp.net-mvc – 域驱动的编程和事件
- 在MVC 6中调整上传的图像大小
- asp.net – 在MVC3或IIS 7.5中禁用x-frame-optio
- 什么是asp.net mvc中“literal”标签的等价物
- asp.net – 静态字段初始化程序有时在Applicatio
- asp.net – Simplemembership – 添加电子邮件字
- asp.net – 32位池和64位池之间的内存使用情况
热点阅读