使用.NET MVC Web应用程序进行一些操作,并对ViewModels和数据注释有疑问。
假设我有一个ViewModel:
public class MyViewModel
{
[DisplayName("First Name")]
public string FirstInfoName { get; set; }
[DisplayName("First Information")]
public string FirstInfo { get; set; }
[DisplayName("Second Name")]
public string SecondInfoName { get; set; }
[DisplayName("Second Information")]
public string SecondInfo { get; set; }
[DisplayName("Third Name")]
public string ThirdInfoName { get; set; }
[DisplayName("Third Information")]
public string ThirdInfo { get; set; }
}
当我想创建一个Edit视图时,我使用的是ViewModel:
@Html.EditorForModel()
这很好用,MVC会为我渲染文本框。但是,假设我想在视图中渲染制表符,因此ViewModel的属性将根据数据注释进行分组。 例如:
public class MyViewModel
{
[Tab(1)]
[DisplayName("First Name")]
public string FirstInfoName { get; set; }
[Tab(1)]
[DisplayName("First Information")]
public string FirstInfo { get; set; }
[Tab(2)]
[DisplayName("Second Name")]
public string SecondInfoName { get; set; }
[Tab(2)]
[DisplayName("Second Information")]
public string SecondInfo { get; set; }
[Tab(3)]
[DisplayName("Third Name")]
public string ThirdInfoName { get; set; }
[Tab(3)]
[DisplayName("Third Information")]
public string ThirdInfo { get; set; }
}
有可能做这样的事吗?也许使用模板?
答案 0 :(得分:0)
虽然我不是说你不能这样做,但它肯定不是一个简单的解决方案。原因是属性是基于每个属性评估的。选项卡通常显示为一个组,并且没有一种好的方法可以将html更改为包含基于同一类型的多个属性的组。