相关疑难解决方法(0)

服务层应该返回MVC应用程序的视图模型吗?

假设您有一个ASP.NET MVC项目并且正在使用服务层,例如在asp.net站点上的这个联系管理器教程中:http: //www.asp.net/mvc/tutorials/iteration-4-make-的应用程序,松散耦合-CS

如果您有视图的视图模型,那么服务层是否适合提供每个视图模型?例如,在服务层代码示例中有一种方法

    public IEnumerable<Contact> ListContacts()
    {
        return _repository.ListContacts();
    }
Run Code Online (Sandbox Code Playgroud)

如果你想要一个IEnumerable,它应该进入服务层,还是在其他地方是"正确"的地方?

也许更合适的是,如果您为与ContactController关联的每个视图都有一个单独的视图模型,那么ContactManagerService是否应该有一个单独的方法来返回每个视图模型?如果服务层不是正确的位置,那么viewmodel对象应该在哪里被初始化以供控制器使用?

asp.net-mvc service-layer asp.net-mvc-viewmodel

61
推荐指数
5
解决办法
2万
查看次数

选择列表逻辑应该放在ASP.NET MVC,视图,模型还是控制器中?

我觉得我的问题与这个问题很接近,但是我想要更一般地讨论这样的代码应该放在哪里.Asp.Net MVC SelectList重构问题?

我目前直接在我的实体模型上创建我的选择列表,就像这样.

public SelectList taskDeadlineTime
    {
        get { return new SelectList(TimeDictionary, "Value", "Key", this.getDeadlineTime()); }
    }
Run Code Online (Sandbox Code Playgroud)

这感觉有点不对,好像我在我的模型中执行查看工作.

然而,它确实意味着我可以获得该属性,我的选择列表就在那里.

现在,我应该将这个逻辑放在我的控制器中(更多代码来编写)或查看(感觉错误和杂乱)或者只是以不同的方式进行.

我现在看这个的原因是因为我正在比较同一对象实体的两个副本,并且将选择列表作为getter的一部分直接意味着它不起作用.我知道我可以修改这个比较来处理这个问题,但是在模型中做一些可视化的东西感觉不对(除非准备选择列表是模型中正确的东西)

c# asp.net-mvc selectlist

4
推荐指数
1
解决办法
2045
查看次数