【发布时间】:2012-11-07 11:07:44
【问题描述】:
我正在尝试将下拉列表添加到强类型剃须刀视图中。 ASP.Net MVC 4.0,Razor View 引擎版本 2.0.0.0
@using System;
@model SampleApp.Models.ServiceRequestModel
@{
ViewBag.Title = "ServiceRequest";
}
@Html.DropDownListFor(m=>m.CategoryID, Model.Categories)
型号如下:
public class ServiceRequestModel
{
public int ID { get; set; }
public int CategoryID { get; set; }
public SelectList Category { get; set; }
}
它总是在 CSHTML 文件中显示智能感知错误:
System.Web.WebPages.Html.HtmlHelper' 不包含“DropDownListFor”的定义,并且无法找到接受“System.Web.WebPages.Html.HtmlHelper”类型的第一个参数的扩展方法“DropDownListFor”(您是否缺少 using 指令或程序集引用?)
而且它也给出错误:
错误 3 当前上下文中不存在名称“模型”
我已经检查了 View 文件夹中的 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" />
</namespaces>
</pages>
【问题讨论】:
-
你找到解决这个问题的方法了吗?
-
是的,这已经解决了。上面配置中 Host factory 的行指向了一个错误的版本,它应该是 3.0.0.0 如下:
-
您介意提供这个作为答案吗?它将帮助有类似问题的用户。
标签: asp.net-mvc-4 razor-2