Внутри блока @foreach содержимое является кодом по умолчанию, если вы не переключитесь обратно на разметку. Таким образом, строка «jQuery (...). ProgressBar ()» считается C #. В таких случаях, когда вам нужна разметка, отличная от HTML, вы можете использовать тег , который фактически не отображается, ИЛИ директиву @:, которая указывает Razor обрабатывать оставшуюся часть строки как разметку, нет независимо от того, что он содержит (конечно, вы можете использовать «@» в строке, чтобы вложить дополнительные блоки кода).
Кроме того, pb @ PlayerID выглядит как адрес электронной почты для Razor, поэтому он игнорирует его. Вы можете избежать этого, используя синтаксис выражения explict @ (). Таким образом, блок @foreach должен выглядеть следующим образом:
@foreach(var player in Model)
{
@: jQuery("#pb@(PlayerID)").progressBar();
}