我正在创建一个部分视图来显示记录的审计印章......即
- 创建于
- 由...制作
- 修改后
- 修改者
我目前在我的所有视图模型中创建了一个包含这些属性的 .AuditStamps 的新子类,将其填充到我的控制器中并将其传递给部分。
这是我的一个视图模型的示例。注意 AudiStamps 子类
public class ItemViewModel
{
public Item Item { get; set; }
public AuditStampsViewModel AuditStamps { get; set; }
}
这是我的部分,起诉这个子类
@model OTIS.AppServ.Shared.AuditStampsViewModel
<hr />
<div class="twoColumn floatLeft">
<div class="editor-field">
<b>Created By:</b>
@Html.DisplayFor(model => model.CreatedByName) on @Html.DisplayFor(model => model.CreatedOn)
</div>
</div>
<div class="twoColumn floatLeft">
<div class="editor-field" style="text-align:right;">
<b>Modified By:</b>
@Html.DisplayFor(model => model.ModifiedByName) on @Html.DisplayFor(model => model.ModifiedOn)
</div>
</div>
但我想知道,既然我所有的类都会有这些共同的属性,我真的需要通过添加和填充这个子类。我唯一的原因是因为我不知道如何在部分中声明一个通用模型......我希望如果我没有声明模型,部分就可以工作,但它没有。我收到一个错误:
An expression tree may not contain a dynamic operation
我怎样才能做到这一点?似乎接口仅使用类就可以解决的问题,但不确定是否使用 Partials 也适用相同的概念(即说明部分实现了 IAudiStamps 接口???)