微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – Web API – 默认呈现Razor视图?

如何让Web API使用返回的模型来渲染Razor视图?当接受标题(或.extension)设置时,只有 XML / JSON?这是甚么可能吗?

如果要使用一组控制器来渲染HTML,而另一组用于JSON / XML,那么似乎很疯狂.

更新Darrel Miller已经写了一个ViewEngineFormatter for Razor,可能会做的伎俩,虽然还没有尝试过.

解决方法

我过去在StackOverflow上提出了一个类似的问题,因为我想做同样的事情.不过最终我终于找到了一个“Api”区域和一组控制器,以及一组用于该网站的MVC控制器.

事后看来其实并不是一件坏事.我发现我倾向于在每套控制器中做不同的事情.我的观点不仅仅是CRUD,而是倾向于包含额外的上下文数据,所以返回特定于该页面的视图模型是不错的.

我想如果我坚持我的目标是结合这两个,我可能会遇到过度复杂的控制器或用户体验不如最近的一样.所以虽然这不是对你的问题的直接回答,但是根据我的经验,不能这样做可能不是一件坏事.

相反,我最终得到了我的大多数控制器委托的丰富的构建器和命令集.这样我可以重用大部分的控制器逻辑,同时能够针对API与网络做特定的事情:

http://www.paulstovell.com/clean-aspnet-mvc-controllers

原文地址:https://www.jb51.cc/aspnet/250468.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐