RazorEngine.Templating.TemplateParsingException:在MVC3中解码字符串值时发生异常

时间:2013-05-10 11:44:46

标签: asp.net-mvc asp.net-mvc-3 razor razor-2

例外详细信息:

{"A space or line break was encountered after the \"@\" character.  Only valid identifiers, keywords, comments, \"(\" and \"{\" are valid at the start of a code block and they must occur immediately following \"@\" with no space in between."}

您好,在我的mvc3项目中,我在使用

解码字符串值时遇到异常
   string s="(500500) Features: • 170 GPH @ 1 ft • Operates submersed.";
   string DecodedValue = Server.HtmlDecode(Razor.Parse(s));

enter image description here

这里没有编码和异常被捕获。我是如何得到解码值的。

1 个答案:

答案 0 :(得分:3)

您正在尝试将以下字符串解析为Razor模板:

"(500500) Features: • 170 GPH @ 1 ft • Operates submersed."

在Razor中,@字符表示以下表达式应解析为C#。如果您希望它显示为文字字符串,则需要将其转义:

"(500500) Features: • 170 GPH @@ 1 ft • Operates submersed."

然而,由于您没有传递任何可变数据,因此不清楚为什么需要将其解析为Razor。你为什么不能简单地使用以下内容?

string s="(500500) Features: • 170 GPH @ 1 ft • Operates submersed.";
string DecodedValue = Server.HtmlDecode(s);