为什么我不能使用ApiController的普通视图?

时间:2013-03-17 17:17:44

标签: asp.net-mvc visual-studio asp.net-web-api

为什么我无法直接从ApiController创建视图?

ControllerApiController都只是接收和提供数据,为什么我的ApiController只能输出和接收格式化为View的数据?

1 个答案:

答案 0 :(得分:4)

好吧,actually it can。您可以使用RazorViewEngine构建自定义媒体类型格式化程序,它将模型传递给Razor视图。

不幸的是,微软在使Web Api控制器必须从与标准MVC控制器不同的基类派生时做了相当糟糕的工作。希望在未来的版本中,他们将修复此设计。

作为替代方案,您可以查看ServcieStack,它为您提供了一个非常好的界面来构建RESTful API,它可以从单个服务呈现任何类型的资源,包括HTML视图。