虽然我的代码编译并运行,但我受到小红色波浪线的困扰。例如,无法识别Html.BeginForm。虽然,如果我键入“Html”。然后intellisense会建议其他一些方法,如Checkbox和DropDownList。
其他下划线包括model和ViewBag。
我有一个对MVC 5.2.3.0的引用,System.Web.Mvc命名空间在我的web.config中
这已经持续了好几个月,并且浪费了我很多时间。我确定它与我安装的软件包版本有关,但我不太了解它能够对其进行故障排除。
我重建了我的计算机,重新安装了Visual Studio 2013,并将我的代码复制回来(以块为单位来尝试隔离问题)但我无法快速完成。
在切换职业之前,有谁可以帮我解决这个问题?
答案 0 :(得分:1)
确保在BeginForm方法中同时具有控制器和动作方法的名称。
@using (Html.BeginForm(ActionmethodName, ControllerName, FormMethod.Post))
{
}
答案 1 :(得分:0)
包含与表单相关的扩展程序FormExtensions
的类包含在System.Web.Mvc.Html
命名空间(see MSDN)中,而不是System.Web.Mvc
中。尝试在System.Web.Mvc.Html
文件夹中添加Web.config
到Views
,它应该可以正常运行。
答案 2 :(得分:0)
主要是你的配置问题。确保视图文件夹的 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>
使用您的包装版本和命名空间