是的,我搜索过剩下的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
答案 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 文件夹中