出于各种原因,我想在Cofoundry中显示数据模型的可编辑版本。我的数据模型有一个枚举字段,在管理界面中,我可以通过添加SelectList属性使其显示为选择列表:
[Display(Name = "Tenant type")]
[SelectList(typeof(TenantTypeType))]
public TenantTypeType TenantType { get; set; }现在,我正在实现数据模型的显示页面,其中我做了一点小动作,只是将数据模型包含在显示模型中:
public class BookingDisplayModel : ICustomEntityPageDisplayModel<BookingDataModel>
{
public string PageTitle { get; set; }
public string MetaDescription { get; set; }
public BookingDataModel Booking { get; set; }
}现在我想在我的超文本标记语言中为TenantType创建一个编辑器:
<div class="row">
<div class="col">
@Html.LabelFor(m => m.CustomEntity.Model.Booking.TenantType, new { @class = "form-label" })
@Html.EditorFor(m => m.CustomEntity.Model.Booking.TenantType, new { htmlAttributes = new { @class = "form-control" } })
</div>
</div>不幸的是,ASP.NET核心没有内置的枚举选择列表...但Cofoundry显然已经做到了。
问:我应该添加哪些剃刀代码来生成与Cofoundry管理界面相同的编辑器元素?实际上,我只想编辑单个实体/数据模型,就像在Cofoundry管理界面中一样-但我想在一个“普通”页面中将其呈现给非管理员。
发布于 2021-03-15 03:13:30
在Cofoundry中,UI元素仅为管理面板设计。从v0.9开始,它们是专门为管理面板用AngularJS编写的,将来可能会使用更现代的框架重写。
一般来说,Cofoundry采用了一种不引人注目的方法来集成到您的应用程序中,因此它不会为您的网站/应用程序指定特定的框架、样式或布局-这取决于您的实现,因此在这种情况下,您将需要构建自己的选择列表。
https://stackoverflow.com/questions/66623910
复制相似问题