在Razor中将代码与标记混合

时间:2011-09-09 21:16:41

标签: asp.net-mvc-3 razor

我们可以做类似的事吗

<tr id="prod<%:item.ProductId%>">
在Razor生产

我试过

<tr id="prod@item.ProductId">

哪个不起作用。它呈现<tr id="prod@item.ProductId"> 我在寻找 -

<tr id="prod1234">

1 个答案:

答案 0 :(得分:7)

您必须使用围绕特定模型值的@(),如下所示:

<div id="prod@(item.ProductId)"></div>

之所以这样,是因为prod@item.ProductId看起来像是解析器的电子邮件地址,默认情况下,解析器会尝试忽略电子邮件地址,因此您不必像john@@doe.com那样做一些愚蠢的事情。电子邮件很常见,每次都很烦人。所以在剃刀解析器上工作的人只是想:“如果它看起来像电子邮件,就忽略它”。所以这就是你遇到这个特殊问题的原因。