我必须为一个拥有大约90个表的数据库创建一个基于CRUD的应用程序,但我不想一次又一次地进行大量的重复编码。
所以我想出了通用控制器和观点的想法。所有用于呈现视图和授权认证事物的信息都将在模型中定义为属性。
[Authorize]
public class Person : ControllerModel
{
[PrimaryKey]
[Hidden]
public int Id {get;set;}
public string Name {get;set;}
[TextArea]
public string Address{get;set;}
[Dropdown(DataSource="Countries")]
public string Country {get; set;}
public List<SelectListItem> Countries {get; set;}
[RelationShip(Type="ManyToMany")]
[Grid(Colunms="Name,Address",Rows="10,20,50")]
public List<Person> FamilyMambers {get; set;}
}
如果在项目的控制器目录中找不到Person
的控制器,它将由通用控制器处理。
我完全了解如何创建视图并将数据保存在数据库中。只是没有想法如何实例化通用控制器?我在以下链接How to impelment a custom controller factory ASP.Net MVC上找到了很少的线索来实现这一点但是代码抛出了空引用异常。任何帮助或想法将不胜感激。