2010-08-24 12 views
12

weiß jemand, wie man Razor View Engine zum Drucken der exakten Linie, die unter foreach Schleife ist, zwingen. Code folgt:Razor View Engine und jQuery

@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("#[email protected]").progressBar(); 
     } 
    }); 
</script> 

}

Ich habe versucht, $() und jQuery(), aber in beiden Fällen Rasierer nicht wissen, was zu tun ist. Gibt es eine Möglichkeit, ihn zu zwingen, genau das zu drucken: jQuery ("# ​​pb @ PlayerID"). ProgressBar();. Ich möchte so etwas haben:

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

});

Vielen Dank im Voraus!

Antwort

22

Im Inneren des @foreach Block, der Inhalt ist Code standardmäßig, wenn Sie zurück zu Markup wechseln. Daher wird die Zeile "jQuery (...). ProgressBar()" als C# betrachtet. In Fällen wie diesem, in denen Markup, das kein HTML ist, verwendet werden soll, können Sie den <Text> Tag verwenden, der nicht tatsächlich gerendert wird ODER die "@:" Anweisung, die Razor anweist, den Rest der Zeile als Markup, no zu behandeln Egal, was es enthält (natürlich können Sie dann innerhalb der Zeile "@" verwenden, um weitere Codeblöcke zu verschachteln).

Auch die „pb @ PlayerID“ sieht aus wie eine E-Mail-Adresse an Razor so es sie ignoriert. Sie können dies vermeiden, indem Sie die @() - Ausdruckssyntax verwenden. So sollte der @foreach Block wie folgt aussehen:

@foreach(var player in Model) 
{ 
    @: jQuery("#[email protected](PlayerID)").progressBar(); 
} 
+0

Gute Eins! BTW Ich denke, du meintest "... du kannst das Text-Tag verwenden" statt "du kannst das Tag verwenden". Vielleicht wurde es von SO-Engine entfernt. – aolde

+0

danke! das wird mir sehr helfen ... – rjovic

3

Diese very helpful article von Scott Gu erklärt alles, was Sie wissen müssen - und hat so ziemlich jede Situation bedeckt.

Hier ist der explizite <Text> Stil von @Manticore erwähnt - es gibt eine Menge mehr Beispiele in dem Artikel.

alt text

+2

und hier ist ein noch prägnanterer Razor cheatsheet von Phil Haack: http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx –

Verwandte Themen