【发布时间】:2015-05-05 05:58:47
【问题描述】:
我目前有一个(工作的)DisplayTemplate,如下所示:
@model string
@{
string icon = "tasks";
string colour = "red";
string title = "Not Started, Set or Looked at Yet";
switch (Model)
{
case "None":
icon = "ban-circle";
colour = "green";
title = "Chosen not to be implemented";
break;
case "Implemented":
icon = "check";
colour = "green";
title = "Implemented";
break;
case "Unable to Implement":
icon = "remove-circle";
colour = "green";
title = "Unable to Implement for Technical or Contract Reasons";
break;
}
<span class="glyphicon glyphiconbig glyphicon-@icon @colour" title="@title"></span>
}
这很好用。在实例化此代码的页面中,我正在生成一个表并使用 foreach 循环。我想要做的是从我的模型中插入一些其他数据到这里。如果我只是在页面中,我可以这样做:
@Html.DisplayFor(modelItem => item.Comment)
这在 DisplayTemplate 中是不可能的(我尝试在显示模板中弄乱模型语法,但我只是破坏了一些东西)。如何在 DisplayTemplate 中最好地实现这一点?
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
DisplayFor 有一个 overload,它接受
additionalData(这将是向您的 DisplayTemplate 传递更多信息的绝佳机会。) -
布拉德,我不确定我是否遵循 - 你能举个例子吗?由于我无法在显示模板中引用当前模型迭代?
-
哦,您要从 DisplayTemplate 反向引用模型?
-
确实!具体来说,我想在我的跨度上写入一个 alt 属性,但不确定如何从显示模板访问模型。
标签: c# asp.net asp.net-mvc razor