2017-03-07 2 views
-3

Ich habe ein einfaches Skript, um die Länge einer Zeichenfolge im HTML-Feld mit Javascript anzuzeigen. Die Längenfunktion, die ich verwende, funktioniert nicht gut. Aber ich kann die Lösung nicht lösen. Bitte beraten.Länge Funktion C# funktioniert nicht

@foreach (var val in ViewData["Students"] as List<Students>) 
    { 
     var state = @val.state; // its working fine 
     if ((@state.length == 7)) // its not working length function fails 
      { 
      <p> I am : @state : with length : @state.length</p> 
      } 
    } 
+0

Warum brauchen Sie die '@' 'nach var Zustand ...'? Funktioniert 'if ((state.length == 7))' nicht? – Nope

+0

es funktioniert nicht in beide Richtungen –

+0

Was ist der Fehler und was zeigt 'console.log (state)' und 'console.log (@state)' Sie in der Debugger-Konsole? – Nope

Antwort

1

Sie programmieren in C# mit Razor, dies ist kein Javascript-Problem.

Wenn state eine Collection, versuchen Immobilien mit .Count statt:

@foreach (var val in ViewData["Students"] as List<Students>) 
{ 
     var state = @val.state; // its working fine 
     if ((@state.Count == 7)) // its not working length function fails 
     { 
      <p> I am : @state : with length : @state.Count</p> 
     } 
    } 
+0

Nein, das ist nicht der Fall. Staat hat nur einen Wert aus der Sammlung. es ist eine foreach-Schleife. Außerdem mache ich Front-End in HTML + JS. C# ist Backend, was in diesem Fall nicht der Fall ist. Danke –

+1

@BaseerUlHassan dann warum ist der Code in Ihrer Frage Razer nicht Javascript? – evolutionxbox

+2

@BaseerUlHassan Bitte nehmen Sie sich 5 Minuten Zeit, um zu verstehen, welche Technologien Sie verwenden https://www.w3schools.com/asp/razor_syntax.asp http://www.tutorialstreacher.com/mvc/viewdata-in-asp.net- mvc – bviale