2

我有一个 ASP.NET 动态数据网站

我正在搭建模型以应用验证

我有一些bigint字段,我正在起诉 SQL Server 2008

我的上下文使用类型正确表示我的bigint字段:long

public System.Nullable<long> ProcessorAffinityMask64Bit

我尝试按如下方式应用验证:

[Range(typeof(long), "0", "4294967295")]
public object ProcessorAffinityMask { get; set; }

我也试过:

[Range(0, 4294967295)]
public object ProcessorAffinityMask { get; set; }

[Range(0D, 4294967295D)]
public object ProcessorAffinityMask { get; set; }

但无论如何我都会收到以下错误:

对于 Int32,值太大或太小。

在此处输入图像描述

那么如何验证长字段?

4

1 回答 1

0

我们在项目中遇到了类似的问题,我们最终从 Integer_Edit 控件中删除了 RangeValidator。

然后,您添加到元数据的 RangeAttribute 会按预期完成繁重的工作。

另一种选择是创建新的 FieldTemplates 并使用 UIHintAttribute 指向它们。

于 2013-10-21T17:22:08.800 回答