我正在使用来自Database示例的DisplayText加载数据: 代码简历:
public class AtributosInModels : DisplayNameAttribute
{
string displayName;
private static int lenght;
public static int Lenght
{
get { return lenght; }
set { lenght = value; }
}
vw_UsuarioPerfilAtributoRepository vw_usuarioPerfilAtributoRepository = new vw_UsuarioPerfilAtributoRepository();
public AtributosInModels(string key)
{
_key = key;
}
public override string DisplayName
{
get
{
Func<vw_UsuarioPerfilAtributo, bool> expressionPerfil = Perf => Perf.NomeAtributo == _key;
var entity = vw_usuarioPerfilAtributoRepository.GetSingle(expressionPerfil);
if (entity.Tamanho!=null)
lenght = entity.Tamanho.Value;
try { displayName = entity.NomeLabel; }
catch (Exception) { displayName = null; }
return string.IsNullOrEmpty(_key) ? "" : displayName;
}
}
public string _key { get; set; }
}
}
[AtributosInModels("NomeUsuario")]
[MaxLength(AtributosInModels.Lenght)]
public string NomeUsuario { get; set; }
如果代码很乱,我就把它充满了**
现在我想从数据库加载Lenght,DataType,Permission,DisplayFormat。 但是这类模型不能操纵变量,我正在尝试使用静态方法
[MaxLength(AtributosInModels.Lenght)]
错误5属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式
失败。
答案 0 :(得分:0)
必须在编译时知道属性参数。因此它必须是一个恒定的值。