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

时间:2015-04-22 18:28:27

标签: asp.net-mvc-4 visual-studio-2012

是的,我搜索过剩下的s.o.对于解决方案,这些解决方案都不适合我。这是问题所在:

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

3 个答案:

答案 0 :(得分:0)

此消息显示您的System.Web.Mvc版本不支持BeginForm。它可能有很多原因。要找出问题的原因,您可以尝试以下方法之一:

  • 通常会删除位于视图文件夹中的第二个web.confing,这通常会导致这种情况。查看this

  • 在项目的参考中查看System.Web.Mvc的版本。它可能是不支持BeginForm的旧版本。

  • System.Web.Mvc.html之前添加BeginForm,看看是否有这样的方法。

答案 1 :(得分:0)

确保“视图”>“ Web.config”中的Razor版本号彼此匹配。

<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]

答案 2 :(得分:-2)

将您的 _layoutPage 移动到 Views 文件夹中