Razor View Engine和jQuery
有没有人知道如何强制Razor View引擎打印foreach循环下的确切行。 代码如下:
@section head{ $(document).ready(function() { @foreach(var player in Model) { jQuery("#pb@PlayerID").progressBar(); } });
}
我尝试使用$()和jQuery(),但在两种情况下剃刀都不知道该怎么做。 有没有办法强迫他打印这个: jQuery(“#pb @ PlayerID”)。progressBar(); 。 我想要这样的东西:
$(document).ready(function() { $("#pb1").progressBar(); $("#pb2").progressBar(); $("#pb3").progressBar();
});
先感谢您!
在@foreach块内部,默认情况下内容是代码,除非您切换回标记。 所以“jQuery(…)。progressBar()”行被认为是C#。 在这种情况下,你想要的标记不是HTML,你可以使用实际上没有呈现的
此外,“pb @ PlayerID”看起来像是Razor的电子邮件地址,所以它忽略了它。 您可以使用@()explict表达式语法来避免这种情况。 所以@foreach块应该如下所示:
@foreach(var player in Model) { @: jQuery("#pb@(PlayerID)").progressBar(); }
Scott Gu的这篇非常有用的文章解释了你需要知道的所有内容 – 几乎涵盖了所有情况。
这是@Manticore提到的显式