从MVC Controller调用Web API来构建并传递模型以进行查看

时间:2012-07-05 12:55:49

标签: asp.net-mvc razor asp.net-web-api

我正在尝试掌握许多对我来说不熟悉的概念,我需要对使用Web API创建并将我的强类型模型从MVC Controller传递到Razor视图的最佳方法进行一些说明。

如许多示例中所示,您通常从某个存储库创建模型,然后将其传递给视图(强类型或非强类型),然后使用Razor语法,您可以访问模型以构建不一定具有的html使用JavaScript。

当事情变得复杂的时候,我想利用Web API来创建我想要使用的模型,就像我在前一段中描述的那样使用它。

我应该调用新的HTTPClient来从我的控制器中调用Web API服务吗? 我是否需要反序列化并格式化响应?等...

我总是在视图中看到来自脚本的调用和操作......

有人能指出我正确的方向吗?

感谢。

1 个答案:

答案 0 :(得分:8)

如果您的WebAPI是一个单独的端点,即不是现有网站的一部分,那么您必须从控制器内部发送HttpWebRequest,然后从响应中序列化数据并将其传递到您的视图中。

或者,您可以通过AJAX直接从视图中调用API,但是,我不确定您是否需要控制器在数据进入视图之前对数据执行某些操作。