有谁知道如何强制 Razor View 引擎打印 foreach 循环下的精确行。代码如下:
@section head{
<script type="text/javascript" src="@Url.Content("~/Content/Scripts/jquery-1.4.1.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Content/Scripts/jquery.progressbar.min.js")"></script>
<script type="text/javascript">
$(document).ready(function() {
@foreach(var player in Model)
{
jQuery("#pb@PlayerID").progressBar();
}
});
</script>
}
我尝试使用 $() 和 jQuery() 但在这两种情况下 razor 都不知道该怎么做。有什么方法可以强迫他打印出这样的内容:jQuery("#pb@PlayerID").progressBar();。我想要这样的东西:
$(document).ready(function() {
$("#pb1").progressBar();
$("#pb2").progressBar();
$("#pb3").progressBar();
});
先感谢您!
在 @foreach 块内,默认情况下内容是代码,除非您切换回标记。因此“jQuery(...).progressBar()”行被视为 C#。在这种情况下,如果您想要非 HTML 的标记,则可以使用 标记(该标记实际上并未呈现)或“@:”指令,该指令指示 Razor 将行的其余部分视为标记,而不是无论它包含什么(当然,您可以在行中使用“@”来嵌套更多代码块)。
此外,“pb@PlayerID”看起来像 Razor 的电子邮件地址,因此它会忽略它。您可以通过使用 @() 显式表达式语法来避免这种情况。所以 @foreach 块应该如下所示:
@foreach(var player in Model)
{
@: jQuery("#pb@(PlayerID)").progressBar();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)