我有一个使用.Net框架4.0的ASP.Net项目。如果我的项目发布到我的Windows 7工作站以下行正常工作:如果在Windows 7工作站上运行ASP.Net的String.Replace的行为与在Windows 2008 R2服务器上的行为不同
strTemplate = strTemplate.Replace("<span style=\"background-color: yellow;\">", "");
但是,如果我发布该项目到Windows 2008 R2服务器,上面的更换不会发生。没有错误;服务器只是没有找到模式,并没有取代它。谁能告诉我为什么,或者如何解决这个问题?我试着在我的模式字符串前加上一个“@”,但是这个字符串想要在“background-color”之前的双引号结束,无论反斜杠是否存在。使用@
符号时
strTemplate = strTemplate.Replace(@"<span style=""background-color: yellow;"">", "");
你必须把两个双引号:
最有可能的,因为'strTemplate'不包含字符串您正在搜索因为 - 所以请发布导致问题的变量的示例值。 – 2013-05-01 17:08:23
怀疑这是问题(只有一个评论),但我认为它会使用当前文化的字符串比较,他们可能会有所不同。 – Paparazzi 2013-05-01 17:24:03
@Alexei - 没有strTemplate包含我正在搜索的字符串。如果项目是从Windows 7计算机运行的,则匹配;如果项目是从Windows 2008 R2服务器运行的,则不匹配 – Melanie 2013-05-01 18:56:46