栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在ASP.NET MVC中将自定义编辑器模板与IEnumerable模型一起使用的正确,惯用方式

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在ASP.NET MVC中将自定义编辑器模板与IEnumerable模型一起使用的正确,惯用方式

与Erik
Funkenbusch讨论
之后,导致研究了MVC源代码,看来有两种更好的方法(正确和惯用的吗?)。

两者都涉及为助手提供正确的html名称前缀,并生成与default的输出相同的HTML

EditorFor

我现在将其保留在此处,将进行更多测试,以确保它在深度嵌套的场景中可以工作。

对于以下示例,假设您已经有两个用于

OrderLine
类的模板:
OrderLine.cshtml
DifferentOrderLine.cshtml


方法1-使用中间模板
IEnumerable<T>

创建一个帮助器模板,将其保存为任何名称(例如“ ManyDifferentOrderLines.cshtml”):

@model IEnumerable<OrderLine>@{    int i = 0;    foreach (var line in Model)    {         @Html.EditorFor(m => line, "DifferentOrderLine", "[" + i++ + "]")    }}

然后从主订单模板调用它:

@model Order@Html.EditorFor(m => m.Lines, "ManyDifferentOrderLines")

方法2-不使用中间模板
IEnumerable<T>

在主订单模板中:

@model Order@{    int i = 0;    foreach (var line in Model.Lines)    {        @Html.EditorFor(m => line, "DifferentOrderLine", "Lines[" + i++ + "]")    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/442714.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号