ASP.NET MVC需要对相似的控制器操作进行DRY(不要重复自己)处理。
创始人
2024-09-16 17:01:19
0

在ASP.NET MVC中,可以使用抽象基类和泛型控制器来实现对相似的控制器操作进行DRY处理。以下是一个示例代码:

// 抽象基类
public abstract class BaseController : Controller where T : class
{
    protected readonly ApplicationDbContext _context;

    protected BaseController(ApplicationDbContext context)
    {
        _context = context;
    }

    // 公共的通用操作
    protected virtual async Task Index()
    {
        var items = await _context.Set().ToListAsync();
        return View(items);
    }

    // 其他通用操作
    // ...

    // 子类需要实现的操作
    public abstract Task Details(int id);
    public abstract Task Create();
    public abstract Task Edit(int id);
    public abstract Task Delete(int id);
}

// 具体控制器
public class ProductsController : BaseController
{
    public ProductsController(ApplicationDbContext context) : base(context)
    {
    }

    public override async Task Details(int id)
    {
        var product = await _context.Products.FindAsync(id);
        if (product == null)
        {
            return NotFound();
        }

        return View(product);
    }

    public override Task Create()
    {
        // 实现创建操作
        // ...

        return Task.FromResult(View());
    }

    public override Task Edit(int id)
    {
        // 实现编辑操作
        // ...

        return Task.FromResult(View());
    }

    public override Task Delete(int id)
    {
        // 实现删除操作
        // ...

        return Task.FromResult(View());
    }
}

在上述示例中,抽象基类BaseController定义了通用的控制器操作,包括Index方法用于显示所有项,以及其他通用操作。子类ProductsController继承了该抽象基类,并实现了特定的操作,如DetailsCreateEditDelete。这样,我们可以在每个具体控制器中重复使用通用的控制器操作,而无需重复编写相同的代码。

相关内容

热门资讯

必看攻略“广东雀神智能插件是真... 广东雀神智能插件是真有挂是一款专注玩家量身打造的游戏记牌类型软件,在广东雀神智能插件是真有挂这款游戏...
总算了解“菠萝辅助破解版”素来... 总算了解“菠萝辅助破解版”素来有辅助开挂安装(确实有挂);无需打开直接搜索微信(136704302)...
透视规律“wejoker私人辅... 【亲,wejoker私人辅助软件 这款游戏可以开挂的,确实是有挂的,很多玩家在这款wejoker私人...
传递经验“新蜜瓜大厅破解”从前... 【亲,新蜜瓜大厅破解 这款游戏可以开挂的,确实是有挂的,很多玩家在这款新蜜瓜大厅破解中打牌都会发现很...
玩家必看科普“沧海十三水辅助器... 玩家必看科普“沧海十三水辅助器”先前有开挂辅助插件(有挂方法);无需打开直接搜索加薇13670430...
透视神器“微乐小程序辅助开发”... 透视神器“微乐小程序辅助开发”固有有开挂辅助器(有挂攻略);亲,微乐小程序辅助开发这款游戏原来确实可...
玩家必看教程“财神破解版全自动... 您好:财神破解版全自动脚本这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户...
2024教程“wepoker到... 2024教程“wepoker到底有没有透视”从前有辅助开挂下载(果真有挂);打开点击测试直接进入微信...
透视新版“上品游戏破解”原生有... 透视新版“上品游戏破解”原生有辅助平台(有挂方针);亲,上品游戏破解这款游戏原来确实可以开挂的,详细...
一分钟了解“大当家辅助脚本下载... 一分钟了解“大当家辅助脚本下载”一向有辅助开挂软件(详细教程);无需打开直接搜索薇:13670430...