1

J'essaye de créer une grille éditable using Asp.Net MVC 2 et Silverlight (spécifiquement une grille qui affiche l'information d'un DB et permet aux utilisateurs de mettre à jour cette information).Silverlight, Grids, MVC, HTTP Post

Jusqu'à présent, je suis parvenu à mettre une grille silverlight sur une vue, en utilisant this technique

Cependant, je n'ai aucun moyen d'obtenir les données mises à jour de la grille de lumière argentée. Y at-il de toute façon pour que ces valeurs soient renvoyées à mon contrôleur? Je suis assez nouveau à Asp.Net MVC et je commence vraiment à utiliser Silverlight.

Merci pour toute aide!

+0

Vous devriez reformuler votre "question" comme une question, et utiliser votre "question" comme une balise, au lieu de jeter la question avec des balises. Trouver? – Timothy

Répondre

0

La première chose que vous devez faire est sérialisez retour à JSON: -

(Assomption vous utilisez ToArray() sur un ObservableCollection de MyItem objets)

public string SerialiseToJSON(MyItem[] myItems) 
{ 
     //Create a stream to serialize the object to. 
     MemoryStream ms = new MemoryStream(); 

     // Serializer the User object to the stream. 
     DataContractJsonSerializer ser = new DataContractJsonSerializer(MyItem[]); 
     ser.WriteObject(ms, myItemsArray); 
     byte[] json = ms.ToArray(); 
     ms.Close(); 
     return Encoding.UTF8.GetString(json, 0, json.Length); 
} 

Maintenant, vous pouvez utiliser la classe WebClient renvoyer la chaîne JSON.

WebClient web = new WebClient(); 

web.UploadStringAsync(new Uri("/yourcontroller/jsonReceiver", UriKind.Relative)); 

Maintenant, je ne sais pas tout ce MVC bien mais je crois que vous pouvez annoter une méthode d'action de façon à ce qu'il peut accepter un HTTP POST des données JSON et il fera le désérialisation pour vous.

+0

Merci pour cela. Je pense que ça m'a le plus du chemin. Cependant, j'ai un problème pour obtenir le web.UploadStringAsync pour frapper mon contrôleur avec succès - Je continue juste à obtenir l'exception non trouvée sur le UploadStringCompletedEventArgs dans le rappel. Je pense que je vais poser une question distincte à ce sujet. – bplus

+0

le fait fonctionner ... merci encore ... – bplus

+2

@bplus: cela aiderait les autres si vous décrivez quelque chose d'additionnel que vous deviez faire pour le faire fonctionner. – AnthonyWJones