【发布时间】:2014-06-26 18:45:56
【问题描述】:
我有两张这样结构的表,这是实体框架数据模型:
public partial class Sensores
{
public int idSensor { get; set; }
public int idTipo { get; set; }
public int idFigura { get; set; }
public string nombre { get; set; }
public virtual TipoSensores TipoSensores { get; set; }
}
public partial class TipoSensores
{
public TipoSensores()
{
this.Sensores = new HashSet<Sensores>();
}
public int idTipo { get; set; }
public string nombre { get; set; }
public virtual ICollection<Sensores> Sensores { get; set; }
}
所以我的元数据类可以更改显示名称
[MetadataType(typeof(TipoSensoresMD))]
public partial class TipoSensores
{
}
public class TipoSensoresMD
{
[Display(Name = "Nombre")]
public string nombre { get; set; }
}
当我打电话时
@Html.DisplayNameFor(model => model.nombre)
在 Models.TipoSensores 视图中,它向我显示“Nombre”。没关系。
但是当我打电话时
@Html.DisplayNameFor(model => model.TipoSensores.nombre)
在 Models.Sensores 视图中,它还会向我显示标签文本“Nombre” 我想在使用时更改显示名称
@Html.DisplayNameFor(model => model.TipoSensores.nombre)
到“Nombre del Sensor”,但当我使用时
@Html.DisplayNameFor(model => model.nombre)
在 Models.TipoSensores 视图中,它必须显示“Nombre” 所以...我需要两个不同的显示名称,具体取决于调用属性的位置。
【问题讨论】:
-
我不认为内置的显示名称功能支持这一点。您可能需要直接将其放入标记中。
标签: c# asp.net-mvc