YSOD在NancyFX中传递复杂类型作为剃刀模型时

Gre*_*g B 3 razor nancy

IEnumerable<string>在NancyFX中向Razor视图发送类型模型时,我得到了一个YSOD .如果提供字符串作为模型,并且@model在视图中使用相关语句,则一切正常,因此工作正常.

错误是

无法通过名称System.Collections.Generic.IEnumerable发现模型的CLR类型.确保传递给视图的模型可分配给视图中声明的模型.

我错过了什么?

View.cshtml

@model System.Collections.Generic.IEnumerable<System.String>
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <h1></h1>
    @foreach (var item in Model)
    {
        <h3>@item</h3>
    }
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

模块

public class MyModule: NancyModule
{
    public MyModule()
    {
        Get["/"] = parameters => View["View", this.GetModel()];
    }

    private IEnumerable<string> GetModel()
    {
        return new[] { "one", "two" };
    }
}
Run Code Online (Sandbox Code Playgroud)

Gre*_*g B 6

问题似乎@model是Nancy不支持该指令.使用正确的类型交换@modelfor可以@inherits解决问题:

@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<My.ViewModels.WhateverViewModel>
Run Code Online (Sandbox Code Playgroud)