大家好,
再次对不起我。这次我有一个我认为相当笼统的问题。我在 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/