有没有人在没有MVC的情况下使用Razor。我正在使用http://www.fidelitydesign.net/?p=208构建的模板引擎,但我不能在Razor代码中使用任何linq查询,例如
<div>
@Model.Person.First().Firstname
</div>
这会引发错误:
System.Collections.Generic.List'不包含定义 对于'First'而没有扩展方法'First'接受第一个参数 类型'System.Collections.Generic.List'可以找到(是 您缺少using指令或程序集引用
对于此示例,Model
包含Person
以下的列表
public class Person
{
public string FirstName { get; set; }
}
答案 0 :(得分:1)
模型是列表,因此您需要First
模型而非Person
,First
返回Person
类的实例:
<div>
@Model.First().Firstname
</div>
你需要:
@using System.Data.Linq
<add namespace="System.Data.Linq" />
添加到Views文件夹中的web.config。以下是您的操作方法:
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Data.Linq" />
</namespaces>
</pages>
</system.web.webPages.razor>