TextBoxFor在剃刀中带有红色下划线

时间:2015-11-11 08:58:09

标签: razor lambda html-helper

我有一个aps MVC剃刀项目,其中剃刀页面显示剃刀助手中的错误而不是使用lambda表达式,

例如:

  

@model Person

     

@ Html.TextBoxFor(C => c.Name)

标有红色下划线,c.Name没有智能感。

但如果我使用

  

@ Html.TextBox("你好&#34)

未标有红色下划线。

这确实让我编译和执行,但它很烦人,因为lambda表达式缺乏知识分子。

给出的错误是:

无法从用法

中推断出方法的类型参数

我尝试过的一些事情

稍微改变一下呼叫的结构:

  

@(Html.TextBoxFor(C => c.Name))

然后只有lambda表达式为红色,错误显示为:

无法将lambda表达式转换为type,因为它不是委托类型

我有

<compilation debug="true" targetFramework="4.0">

使用我的项目的targetFramework,以及所有其他不使用lambda的帮助者都不会出现此错误。

它能是什么?

1 个答案:

答案 0 :(得分:1)

我刚才遇到了这个问题,而且我知道这对你来说可能没有任何帮助,因为这个回复是2年之后,但是在google中搜索这是第一个结果,我找到了解决方案。

使用“System.Core”引用证明存在问题(我不知道为什么)。我试图删除并再次添加该引用,但添加它时出错。所以我搜索了一下,发现即使它在你的项目中不可见,微软也提出了这个参考,所以要再次添加它,你需要自己编辑“* .csproj”。我用VS Code打开它(你甚至可以使用记事本)然后添加:

<Reference Include="System.Core" />

我按照字母顺序像其他所有引用一样,但我不认为这很重要,在我的情况下是在“System.ComponentModel.Composition”之后。希望这可以帮助你,如果它再次发生在你身上,也许可以帮助其他人找到这个问题。