2

我在一个 MVC4 项目中有一个剃刀视图,它在两个不同的环境中以不同的方式处理相同的输入。我在 MVC 部分中有一个脚本块。

在我的实时部署中,每当我创建小于比较 ( if(a < b)) 时,<都会将其解释为 HTML 块,并且该部分将以奇怪的方式呈现。目前,我必须使用Html.Raw("<"). 在我的开发机器上,我没有这个问题。

我敢肯定有一个简单的答案来解释为什么 razor 没有意识到这<是我的 javascript 的一部分,但是现在,我只对为什么不同的行为会有所不同感兴趣。我知道这两种设置都在运行 razor v2,因为条件属性等新功能在两者中都有效。

造成这种差异的原因可能是什么?

4

1 回答 1

3

检查两个环境中System.Web.Razor.dll的文件版本,看两个地方是否都是2.0.20715。我们确实通过 Web PI 发布了包含在 MVC 4 安装程序中的 Razor v2 更新,但不在 Visual Studio 2012 的框中,这可能是您所看到的行为差异的原因。

于 2012-12-06T19:42:40.090 回答