模型类可以放在控制器类中

时间:2017-03-29 14:38:26

标签: c# asp.net-mvc asp.net-web-api

如果在别处得到回答,请道歉;唯一的搜索结果出现了基于PHP的答案。

TL; DR - 可以在控制器类中声明ASP.NET API / MVC模型类,在执行此操作时是否有任何问题?

我有很多接受多个参数的控制器。根据{{​​3}}和this answer,一般的共识似乎是复杂类型参数最好,例如。

public class MyController : ApiController 
{
    [HttpPost]
    public HttpResponseMessage Post([FromBody] MyModel ModelParam)
    {
       // do something with ModelParam.Param1, ModelParam.Param2, etc...
    }
}

我总是把类放在应用程序的Models文件夹中,但是我发现我的模型每个控制器只使用一次,所以我最终得到的模型和控制器一样多。

也许我在那里做错了,但是每个模型都可以存在于控制器中,所以相关逻辑在一起吗?例如......

public class MyController : ApiController 
{
    public class MyModel
    {
        public string Param1{ get; set; }
        public DateTime Param2{ get; set; }
    }

    [HttpPost]
    public HttpResponseMessage Post([FromBody] MyModel ModelParam)
    {
       // do something with ModelParam.Param1, ModelParam.Param2, etc...
    }
}

我试过这个,似乎编译运行没问题。以前在使用webforms时,我通过在页面中放置类别(类似于“无法转换类型”MyClass“类似”MyClass“的类似间歇性错误)而感到非常痛苦。我很担心这种方法是否存在任何问题(或者是不好的做法)?

0 个答案:

没有答案