Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 允许RangeAttribute应用于子viewmodels中的特性_C#_Asp.net Mvc 3_Data Annotations - Fatal编程技术网

C# 允许RangeAttribute应用于子viewmodels中的特性

C# 允许RangeAttribute应用于子viewmodels中的特性,c#,asp.net-mvc-3,data-annotations,C#,Asp.net Mvc 3,Data Annotations,我使用viewmodel将数据传递到我的Razor视图,并使用jquery不引人注目的验证和标准属性装饰(MVC 3.0)。我的viewmodel如下所示(忽略摘要名称): 我希望能够使用不同的范围属性来装饰MyViewModel上的Item和Item2值。但是,当我使用Html的EditorFor扩展名时,它们不会出现,因为它们不在所使用的特定值属性上 i、 e 无论如何,我可以通过自定义属性或其他形式实现这一点,例如自定义数据绑定、自定义属性等如果您愿意接受两种不同的类型,可以将MyView

我使用viewmodel将数据传递到我的Razor视图,并使用jquery不引人注目的验证和标准属性装饰(MVC 3.0)。我的viewmodel如下所示(忽略摘要名称):

我希望能够使用不同的范围属性来装饰MyViewModel上的Item和Item2值。但是,当我使用Html的EditorFor扩展名时,它们不会出现,因为它们不在所使用的特定值属性上

i、 e


无论如何,我可以通过自定义属性或其他形式实现这一点,例如自定义数据绑定、自定义属性等

如果您愿意接受两种不同的类型,可以将MyViewItem子类化,并让派生类为其定义不同的RangeValidationAttribute

如果您愿意接受两种不同的类型,可以将MyViewItem子类化,并让派生类为其定义不同的RangeValidationAttribute

我真的没想到,干杯。然而,我想在很多不同的情况下使用MyViewModel,我不想为每种情况都创建一个子类,我真的没有想到这一点。然而,我想在很多不同的情况下使用MyViewModel,并且不希望为每种情况都创建一个子类。
public class MyViewModel
{
   public MyViewItem Item { get; set; }
   public MyViewItem Item2 { get; set; }
}

public class MyViewItem
{
   public int Value { get; set; }
   public CustomEnum MyEnum { get; set; }
}
public class MyViewModel
{
   [Range(0,100)] // will actually be applied on the Item.Value property
   public MyViewItem Item { get; set; }

   [Range(50,60)] // will actually be applied on the Item.Value property
   public MyViewItem Item2 { get; set; }
}