gpt4 book ai didi

asp.net - 在asp.net mvc中是否可以制作通用 Controller ?

转载 作者:行者123 更新时间:2023-12-01 23:18:05 26 4
gpt4 key购买 nike

我正在尝试创建一个通用 Controller ,即:

public class MyController<T> : Controller where T : SomeType
{ ... }

但是,当我尝试使用它时,我到处都遇到这个错误......

Controller 名称必须以“Controller”结尾

所以,我的问题是,是否可以在 asp.net mvc 中制作通用 Controller ?

谢谢!

最佳答案

如果我正确理解你的意思,你想要做的就是通过 T 类型的通用 Controller 路由给定模型的所有请求。

您希望 T 根据请求的型号而变化。

您想要/Product/Index触发MyController<Product>.Index()

这可以通过编写您自己的 IControllerFactory 来完成并实现CreateController方法如下:

public IController CreateController(RequestContext requestContext, string controllerName)
{
Type controllerType = Type.GetType("MyController")
.MakeGenericType(Type.GetType(controllerName));
return Activator.CreateInstance(controllerType) as IController;
}

关于asp.net - 在asp.net mvc中是否可以制作通用 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/848904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com