C# HTML编码块-无效的表达式项';:';

C# HTML编码块-无效的表达式项';:';,c#,asp.net-mvc-2,C#,Asp.net Mvc 2,我正在开发一个新的ASP.NETMVC2.0应用程序,并希望使用新的ASP.NET4编码块 我的视图代码包含,但Visual Studio正在报告: 意外标记 在:(冒号)的位置。运行该应用程序时,出现以下编译错误: 编译器错误消息:CS1525:无效的表达式项“:” 我错过了什么 欢迎提供帮助/建议。此功能是ASP.Net 4.0的新增功能,而ASP.Net 4.0又是Visual Studio 2010的新增功能 在早期版本中,您应该编写 <%= Html.Encode(Model.A

我正在开发一个新的ASP.NETMVC2.0应用程序,并希望使用新的ASP.NET4编码块

我的视图代码包含
,但Visual Studio正在报告:

意外标记

(冒号)的位置。运行该应用程序时,出现以下编译错误:

编译器错误消息:CS1525:无效的表达式项“:”

我错过了什么


欢迎提供帮助/建议。

此功能是ASP.Net 4.0的新增功能,而ASP.Net 4.0又是Visual Studio 2010的新增功能

在早期版本中,您应该编写

<%= Html.Encode(Model.ActivityName) %>

正如已经指出的,您需要使用正确版本的VS。如果不能,您需要更改所有代码以使用可能有用的
Html.Encode
方法

并不是说我已经绑定了它,但是VS中的反向搜索和替换应该是这样的

\<\%:b*{[^%]*}:b*\%\>
\
替换为

<%:= Html.Encode\( \1 \) %>


或者类似的东西。就像我说的,我现在没有IDE要测试,所以在运行整个项目之前,请尝试一下。

听起来目标框架没有设置为.NET framework 4.0

为此,在解决方案资源管理器中,右键单击项目根目录并在关联菜单中选择“属性”

在应用程序选项卡中,您应该看到目标框架的下拉列表。将此更改为.NET Framework 4.0


尝试编译以查看错误是否消失。

您在VS 2008中使用的是哪个版本的VS。我已经将我的应用程序创建为MVC2.0应用程序。这不是自动使用ASP.NET 4吗?ASP.NET 4.0仅受VS2010支持。是的,您需要VS2010我相信谢谢Schabse。我完全忽略了我可能需要在VS2010中开发此功能的想法。非常感谢。你不需要使用VS2010来使用ASP.NETMVC。是的,我知道。我只想能够使用代码块功能。这是一个全新的项目,所以我想使用最新的东西,我可以。我的MVC1项目都是在2008年开发的。山姆,谢谢你的博客链接。我昨天才读到这篇文章答对 了那是为了我。我一直在3.5中的另一个项目上工作,当我开始新的解决方案时,这一点就被卡住了。谢谢DevDave!