c# - 在 MVC 中存储/调用重复代码块

标签 c# asp.net-mvc asp.net-mvc-2 dry

大家好,
再次对不起我。这次我有一个我认为相当笼统的问题。我在 Controller 中一遍又一遍地使用几乎完全相同的代码来设置 View 模型。我的问题是,有没有办法将此代码存储在 MVC 项目中的某个位置,可能让它返回一个 viewModel,并从同一项目中的 Controller 调用它。

我正在尝试关注 DRY,但似乎无法在这方面找到任何资源。提前致谢!

最佳答案

您可以创建一个基本 Controller 来完成您的工作,然后从所有 Controller 中继承并调用您想要重用的方法。

public abstract class BaseController : Controller
{
    protected BaseController()
    {

    }

    protected void PopulateViewModel()
    {
        //code to populate view model here
    }
}

public class MyController : BaseController
{
    [HttpGet]
    public virtual ActionResult myAction()
    {
        PopulateViewModel();
        //do more stuff
    }
}

关于c# - 在 MVC 中存储/调用重复代码块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3893029/

相关文章:

asp.net-mvc - 在 MVC2 中使用 FormsAuthenticationTicket cookie 自定义 IIdentity 和 IPrincipal

asp.net-mvc - RenderPartial 无法转换为字符串

c# - ASP .NET 2.0 与 ASP .NET MVC 2.0 的集成

c# - 在 C# 中将参数值从一个函数传递到另一个函数

c# - 添加到数据库后访问对象属性

javascript - ASP.NET MVC 4 路由问题

asp.net - 在ASP.NET中正确实现后台进程线程

c# - 如何使 .NET 属性仅对某些类型有效

c# - 这种签名 URL 的实现是否相当安全?

c# - Sitecore - 使用渲染引用动态渲染 View / Controller 渲染