2016-05-14 2 views
0

Hallo ich eine JSON-Datei habe alsBind Repeater mit JSON-Datei Strings

folgt
{ 
    "Employee1": { 
    "Year1": { 
     "StartRange": 22, 
     "EndRange": 44 
    }, 
    "Year2": { 
     "StartRange": 24, 
     "EndRange": 55 
    } 
    }, 
    "Employee2": { 
    "Year1": { 
     "StartRange": 29, 
     "EndRange": 40 
    }, 
    "Year2": { 
     "StartRange": 44, 
     "EndRange": 77 
    } 
    } 
} 

ich diese JSON-Datei lesen möchten, und halten Sie sie in einer Liste und Dispaly in einer Web-Seite Repeater-Steuerelement wie folgt verwendet wird (siehe Bild)

enter image description here

ich habe Textboxsteuerelemente für Mitarbeiter, Jahr, Start und Ende Bereich, um neue Werte zu dem Repaeter hinzuzufügen, wenn ein Button.If klicken ich die Details bearbeiten der aktualisierte JSON-String wird außer Kraft gesetzt werden in der JSOn-Datei. Wie geht das in C#?

+0

Erstellen Sie eine Klasse, die JSON-Struktur und (de) Serialisierung hinein darstellt. – CodeCaster

Antwort

0

Wie CodeCaster sagte eine Klasse erstellen, wird es wie folgt aussehen:

public class Year 
{ 
    public int StartRange { get; set; } 
    public int EndRange { get; set; } 
} 

public class Employee 
{ 
    public List<Year> Year { get; set; } 
} 

public class RootObject 
{ 
    public List<Employee> Employee { get; set; } 
} 

Dann Newtonsoft Serializer, here you find an example verwenden.

Dann können Sie es mit einem Repeater binden, wenn Sie CRUD-Funktionen (erstellen, aktualisieren, löschen) wollen, dann verwenden Sie eine GridView.

Edit:

habe ich ein lauffähiges Beispiel für Sie:

Data-Input:

 { 
 
'Employee':[ 
 
    { 
 
    'Year':[{ 
 
     'StartRange': 22, 
 
     'EndRange': 44 
 
    }, 
 
    { 
 
     'StartRange': 24, 
 
     'EndRange': 55 
 
    } 
 
] 
 
    }, 
 
    { 
 
    'Year':[{ 
 
     'StartRange': 29, 
 
     'EndRange': 40 
 
    }, 
 
    { 
 
     'StartRange': 44, 
 
     'EndRange': 77 
 
    } 
 
] 
 
    } 
 
] 
 
}

C# Deserialize

Newtonsoft.Json.JsonConvert.DeserializeObject<RootObject>(jsonstring); 
+0

Danke für Ihre Antwort. Ich würde gerne wissen, wie man eine Liste aus einer Klassenstruktur erstellt, die Sie für meine Abfrage geschrieben haben. – Vinoth

+0

NULL-Wert in RootObject nach dem Deserialisieren von jSON-Zeichenfolge durch Ihren Code erhalten – Vinoth

+0

Es hängt von Ihrer Eingabestruktur ab, der Code funktioniert. Employee1, Employee2 und Year1 sowie Year2 verursachen Probleme, da sie nicht automatisch als Array interpretiert werden. Ich habe dies in Mitarbeiter und Jahr (ohne die Zahlen) umbenannt, also ich meine Ihre Datenstruktur ist falsch. Bessere Verwendung Jahr: {Name: ..; Start: ...; End ...} anstelle von Year1, Year2, ... –