我用模型创建了一个ASP.NET MVC 2项目。然后,我创建了一个视图,并选择它作为创建的模型的强类型。部分视图我也做了同样的事情。在任何一种情况下,由于某种原因,我得到错误:“每当我尝试使用ASP.NET MVC 2为模型创建表单元素时提供的Html帮助方法时,无法解析符号'Html'。我有Visual Studio 2010和ASP安装了.NET MVC 2.这是以前见过的东西吗?如果有,有解决方案可以解决这个问题吗?
我的模型看起来像:
public namespace MyNamespace { public class MyModel { public string MyProperty { get; set; } } }
常规视图的第一行是:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MyNamespace.MyModel>" %>
部分视图的第一行是:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyNamespace.MyModel>" %>
答案 0 :(得分:5)
我认为我找到了解决问题的方法(我不确定它是否是暂时的)
创建新的asp mvc项目时,它包含2个web.config文件。一个在项目根目录上,另一个在Views目录中。
我认为视图中的那个不是必需的,所以我将其排除在外。第二天resharper停止识别Html辅助方法。我再次添加它并重新加载解决方案,所有错误都消失了。
希望这有帮助
修改强>
this link可能有助于解决此问题
答案 1 :(得分:3)
我一直都会遇到这个错误,我不知道是什么原因造成的。它必须与Visual Studio无法正确解析Page
/ UserControl
指令并随后不加载inherits属性中定义的正确类型。
除了丢失intellisense之外,它并没有真正影响应用程序,当你打开aspx视图文件并构建你的解决方案时,你在visual studio输出中也会遇到很多错误(你的解决方案仍然无需担心)。
我可以通过弄乱Page
/ UserControl
指令来逐渐消除错误,这会强制Visual Studio重新解析它。例如。在inherits
属性中的任意位置放置一个随机空格,然后将其删除。
HTHS,
查尔斯
聚苯乙烯。我也在使用resharper,但我不确定是否应该责备。
答案 2 :(得分:0)
是的,这对我来说也发生了几次。如果应用程序正确加载并且视图加载了对象,我怀疑它可能是您的ReSharper Build。尝试更新您的Resharper版本,看看它是否能识别您的模型。
答案 3 :(得分:0)
我遇到了同样的问题,也在无知的时刻删除了web.config ......
将下面的web.config片段合并到Web应用程序根目录中的web.config也可以解决问题。它再次像它应该的那样工作,但你只有一个web.config文件。
<system.web>
<pages
validateRequest="false"
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
<controls>
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
</pages>
</system.web>
答案 4 :(得分:0)
这个错误发生在我身上,因为我错误地移动了“Views”文件夹中的web.config。
此文件包含System.Web.Mvc的包含。希望这有帮助。
问候