HtmlHelper不包含BeginForm的定义
本文关键字:定义 BeginForm 包含 HtmlHelper | 更新日期: 2023-09-27 18:12:24
虽然我的代码可以编译并运行,但我还是被一些小的红色弯弯曲曲的线条所困扰。例如,Html。BeginForm不被识别。虽然,如果我输入"Html.",那么智能感知会提示一些其他方法,如Checkbox和DropDownList。
其他下划线包括model和ViewBag。
我有一个参考MVC 5.2.3.0和System.Web.Mvc命名空间是在我的web.config
这已经持续了好几个月了,浪费了我很多时间。我确信这与我所安装的软件包的版本有关,但我不太了解它,无法排除故障。我已经重建了我的计算机,重新安装了Visual Studio 2013,并复制了我的代码(在块中试图隔离问题),但我无处可去。
在我转行之前,有谁能帮我弄清这件事的真相吗?确保在BeginForm方法中同时拥有控制器名和操作方法名。
@using (Html.BeginForm(ActionmethodName, ControllerName, FormMethod.Post))
{
}
主要是你的配置问题。确保您的Views文件夹位于web上。config有这样的配置:
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.1.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="SixAnts" />
</namespaces>
</pages>
</system.web.webPages.razor>
使用包的版本和名称空间
包含表单相关扩展的类FormExtensions
包含在System.Web.Mvc.Html
命名空间中(参见MSDN),而不是System.Web.Mvc
。尝试在Views
文件夹中添加System.Web.Mvc.Html
到Web.config
,它应该可以正常工作。