2016-07-30 1 views
0

Je suis débutant de JSON. Ma confusion est la raison pour laquelle nous allons avec JSON au lieu de chercher et d'afficher les données à partir de l'arrière-plan sans out en utilisant Java Script/JQuery en MVC.MVC C# .Net avec JSON

J'espère que votre réponse me fera sortir de la confusion.

Répondre

1

Ce n'est pas que tout le monde s'en prend à JSON. Mais il y en a énormément. Il existe deux façons de rendre les vues en mvc, l'une est la liaison de modèle, l'autre est la consommation d'API et le rendu des éléments via Javascript. La première implique l'utilisation des ressources du serveur pour tout, tandis que dans le dernier, vous faites simplement l'opération db via le serveur. Le rendu des éléments est effectué sur la machine du client. Ainsi, il peut donner de meilleures performances et minimiser l'utilisation du serveur. Mais cette performance améliorée a un certain coût.

Les moteurs de recherche comme google déconseillent la deuxième approche car il est difficile pour eux de rendre la vue complète. Aussi, seuls les sites Ajax ne donnent pas une bonne expérience utilisateur. Et avec l'augmentation des performances des piles et des serveurs technologiques, la performance n'est plus un problème critique.

D'autres facteurs sont la sécurité. Votre sécurité peut être compromise si vous traitez des données api pour rendre des éléments car les utilisateurs malveillants peuvent changer le code et voir ce qui ne leur était pas destiné. Mais si vous ne vous souciez pas du référencement et de l'implémentation de votre Ajax, il n'y a pas de mal à passer à la seconde voie. JSON est idéal pour modéliser des objets dans une chaîne.

+0

Merci beaucoup Rachit votre réponse m'a fait en tenir beaucoup. – user2738864

+0

Mon plaisir. Acceptez-le comme la réponse si elle a résolu votre requête. Pour cela, vous avez coché la coche grise adjacente à la réponse. –

+0

Cher Rachit, Une question rapide est la façon d'utiliser AJAX updatepanel dans MVC pour consommer notre publication ou nous devons aller avec JSON? – user2738864

0

Cela vous permet de représenter facilement des objets fortement typés et de les transmettre via HTTP via des données POST.

Disons en C# que vous avez un contrôleur de travail.

Il a une méthode appelée

void Create(Job job) 
{ 
    db.Jobs.Add(job); 
    db.SaveChanges(); 
} 

Et la classe Job poco ressemble à ceci.

public class Job 
{ 
    public int Id {get;set;} 
    public string Name {get;set;} 
    public bool IsActive {get;set;} 

} 

Vous pouvez écrire des valeurs dans cet objet ou n'importe quel objet dans JSON assez facilement. Dans votre javascript vous pouvez définir les valeurs comme une variable

var job = { 
    id: 23, 
    name: 'Programming Job', 
    isActive: true 
}; 

Vous pouvez convertir en chaîne de préparation pour un poste comme celui-ci ajax.

var postData = JSON.stringify(job); 

Lorsque vous envoyez votre contrôleur JSON assignera automatiquement votre classe C# d'emploi même avec les différents boîtiers.

Ce qui vous permet d'exécuter

vide Créer (emploi Job)

+0

Merci beaucoup Proximo. C'est un bel exemple. – user2738864

0

sérialisation est beaucoup plus rapide et plus simple à traval entre backend et frontend.

Le backend traite uniquement de l'extraction des données de la base de données. Le client traite ensuite l'affichage de ces données.Dites que vous appelez un ami pour obtenir de l'aide pour faire un gâteau. Vous avez les ingrédients, mais vous n'avez aucune idée de comment le faire. Aimeriez-vous que votre ami vous demande de venir chez lui afin qu'il puisse vous aider à faire le gâteau, ou préférez-vous qu'il vous donne les instructions pour le faire vous-même, juste par téléphone?

Je ne sais pas si mon exemple est tout à fait exact: p

+0

Salut Cher, Merci pour votre réponse, mais je suis assez confus avec votre réponse.Mon confusion est quelle est la meilleure façon d'obtenir des données du contrôleur si utiliser JSON ou en utilisant la liaison de modèle au lieu de JSON et pourquoi? – user2738864

+0

@ user2738864 oh, désolé. Eh bien, je ne suis pas encore très doué. La startup sur laquelle je travaille utilise les deux et je ne suis pas sûr de ce qui est le mieux. Je pense que cela dépend de la façon dont votre projet est construit, et quels sont vos besoins. –

+0

Ok chéri pas de soucis :) – user2738864