MVC 4 - 'System.Web.WebPages.Html.HtmlHelper' 不包含定义

MVC 4 - 'System.Web.WebPages.Html.HtmlHelper' does not contain a definition for

是的,我搜索了 s.o 的其余部分。对于解决方案,none 这些解决方案对我有用。这是问题所在:

1) Visual Studio 2012 -> 新网站...

2) 创建一个普通的 MVC 4 站点 (Razor v2) 和 .NET 4.5

3) 在Default.cshtml

中添加如下代码
@using (Html.BeginForm())
{

}

4) 启动并出现此错误:

CS1061: 'System.Web.WebPages.Html.HtmlHelper' does not contain a definition for 'BeginForm' and no extension method 'BeginForm' accepting a first argument of type 'System.Web.WebPages.Html.HtmlHelper' could be found (are you missing a using directive or an assembly reference?)

什么给了?

编辑,将我的网站上传为 zip,只有 276K: http://budzap.com/mvc.zip

此消息说您的 System.Web.Mvc 版本不支持 BeginForm。可能有许多 causes.To 找出导致您问题的原因,您可以尝试以下方法之一:

  • 通常是由于删除了位于视图folder.see中的第二个web.confing this

  • 在参考资料中查看您的 System.Web.Mvc 版本您的 project.it 可能是不支持 BeginForm 的旧版本。

  • BeginForm前加System.Web.Mvc.html看看有没有这种方法

确保视图中的 Razor 版本号 > Web.config 相互匹配。

<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0 [etc]

<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0 [etc]

将您的 _layoutPage 移至 Views 文件夹