Razor View Engine和jQuery

前端之家收集整理的这篇文章主要介绍了Razor View Engine和jQuery前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有人知道如何强制Razor View引擎打印正在循环的精确线.代码如下:
@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(),但在这两种情况下,剃刀不知道该怎么办.有没有什么办法强迫他打印这个:jQuery(“#pb @ PlayerID”).progressBar(); .我想要这样的东西:

$(document).ready(function() {
    $("#pb1").progressBar();
    $("#pb2").progressBar();
    $("#pb3").progressBar();

});

先谢谢你!

解决方法

在@foreach区块内,内容默认为代码,除非您切换回标记.所以“jQuery(…).progressBar()”行被认为是C#.在这种情况下,您希望不是HTML的标记,您可以使用< text>标签,这不是实际呈现的或者“@:”指令,指示Razor将该行的其余部分视为标记,无论它包含什么(当然,您可以在行内使用“@”来嵌套进一步的代码块).

另外,“pb @ PlayerID”看起来像是Razor的电子邮件地址,因此它忽略它.您可以通过使用@()Explicit表达式语法来避免这种情况.所以@foreach块应该是这样的:

@foreach(var player in Model)
{
    @: jQuery("#pb@(PlayerID)").progressBar();
}
原文链接:https://www.f2er.com/jquery/179471.html

猜你在找的jQuery相关文章