кто-нибудь знает, как заставить механизм 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 (), но в обоих случаях бритва не знает, что делать. Есть ли способ заставить его напечатать точно это: jQuery (" # pb @ PlayerID") .progressBar (); . Я хочу что-то вроде этого:
$(document).ready(function() {
$("#pb1").progressBar();
$("#pb2").progressBar();
$("#pb3").progressBar();
});
Заранее спасибо!
Внутри блока @foreach по умолчанию используется код, если вы не переключитесь обратно на разметку. Таким образом, строка «jQuery (...). ProgressBar ()» считается C #. В таких случаях, когда вам нужна разметка, отличная от HTML, вы можете использовать тег
Кроме того, «pb @ PlayerID» выглядит как адрес электронной почты для Razor, поэтому он его игнорирует. Вы можете избежать этого, используя синтаксис явного выражения @ (). Итак, блок @foreach должен выглядеть так:
@foreach(var player in Model)
{
@: jQuery("#pb@(PlayerID)").progressBar();
}