我们有以下场景: ContactController : ApiController
现在 ContactController 返回 Contact Model。
我们希望控制器通过使用 Web 应用程序中的适当视图将结果作为剃刀视图传递。
我找到了这个链接
这就是 Darrel Miller 为 api 控制器提供 ViewEngineFormatter 的地方。但我不知道如何为返回的模型指定使用哪个 .cshtml 视图。我在 ViewEngineFormatter 的 WriteToStreamAsync 方法上有一个断点。它到达那里并抛出一个错误,说它无法将对象转换为视图。
这是它引发错误的地方:
public override Task WriteToStreamAsync(Type type, object value, Stream stream, System.Net.Http.HttpContent content, TransportContext transportContext)
{
var view = (View)value;
view.WriteToStream(stream, _viewEngine);
var tcs = new TaskCompletionSource<Stream>();
tcs.SetResult(stream);
return tcs.Task;
}
如果客户端请求中指定的数据类型是“html”,我只是想念如何让 apicontroller 返回剃刀视图。
任何帮助,将不胜感激...