我是asp.net mvc的新手.我听到这个词ASP.NET MVC generic controller,任何人都能轻易解释它是什么吗?我之前使用过默认控制器,但现在我希望能够可视化ASP.NET MVC通用控制器的用途.如果有人能够解释开发人员必须考虑使用ASP.NET MVC通用控制器的情况,那将非常有用.将非常感谢有关如何实现它的概念和代码.谢谢
您通常创建一个泛型类来抽象出可以对一系列类型执行的操作,例如包含ID的Entity Framework模型.在这种情况下,您可以将所有重复的代码移动到基类中.
对于MVC控制器,通用基本控制器可能如下所示:
public abstract class GenericController<T>
where T : class
{
public virtual ActionResult Details(int id)
{
var model = _repository.Set<T>().Find(id);
return View(model);
}
}
Run Code Online (Sandbox Code Playgroud)
这样的实现:
public class FooController : GenericController<Foo>
{
}
Run Code Online (Sandbox Code Playgroud)
现在,当有人请求/Foo/Details/42时,entitiy从拉动_repository的Set<Foo>(),而无需编写的,在什么FooController.
通过这种方式,您可以创建一个基本的"CRUD"控制器,使您可以使用新模型的创建,读取,更新和删除操作轻松扩展应用程序.
| 归档时间: |
|
| 查看次数: |
3772 次 |
| 最近记录: |