2016-07-30 10 views
0

私は初心者JSONです。バックエンドのデータを取り出して表示する代わりにJava Script/JQueryMVCに入れて、JSONとしている理由は私の混乱です。MVC C#.NET with JSON

あなたの答えが私を混乱から救うことを望みます。

答えて

1

皆がJSONを追いかけているわけではありません。しかし、それらの非常に多くがあります。 MVCでビューをレンダリングする方法は2つあり、1つはモデルバインディングで、もう1つはAPIを消費し、Javascriptで要素をレンダリングしています。前者ではすべてのサーバーリソースを使用しますが、後者ではサーバー経由でdb操作を行うだけです。要素のレンダリングはクライアントのマシン上で行われます。したがって、パフォーマンスが向上し、サーバーの使用が最小限に抑えられます。しかし、この改善された性能は、ある程度のコストを要する。

グーグルのような検索エンジンは、完全な表示を困難にするという第2のアプローチを思いとどまらせます。また、Ajaxのウェブサイトだけではユーザーエクスペリエンスが向上しません。テクノロジスタックとサーバーのパフォーマンスが向上するにつれて、パフォーマンスはもはや重大な問題ではありません。

その他の要因はセキュリティです。悪意のあるユーザーがコードを変更して、そのコードが意味を持たないものを表示できるように、要素をレンダリングするためにAPIデータを処理する場合、セキュリティが侵害される可能性があります。

しかし、SEOを気にせずにAjaxを慎重に実装しても、第2の方法でも問題ありません。

+0

おかげでたくさんRachitあなたの答えは、多くのスタンドの下に私を作りました。 – user2738864

+0

私の喜び。それがあなたの質問を解決したら答えとしてそれを受け入れなさい。そのためには、答えに隣接する灰色の目盛りをチェックしてください。 –

+0

ラチットさん、MVCでAJAX updatepanelを使用してポストバックを使用する方法や、JSONを使用する必要がありますか? – user2738864

0

JSONは文字列のモデリングオブジェクトに最適です。これにより、厳密に型指定されたオブジェクトを簡単に表現し、POSTデータを介してHTTP経由で渡すことができます。

C#では、ジョブコントローラがあります。

それは

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

というメソッドを持っているとジョブPOCOクラスには、次のようになります。

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

} 

このオブジェクトまたはJSONの任意のオブジェクトに値を簡単に書き込むことができます。 はあなたのJavaScriptで、あなたは、あなたがこのようなAjaxのポストのための準備をするために、文字列にこれを変換することができ、可変

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

ような値を設定することができます。

var postData = JSON.stringify(job); 

コントローラにPOSTすると、JSONは異なるケーシングでも自動的にC#ジョブクラスにマッピングされます。あなたは

ボイドは

+0

ありがとうProximo。その良い例です。 – user2738864

0

シリアル化がバックエンドとフロントエンドの間travalにはるかに高速かつ簡単です(ジョブのジョブ)を作成して実行できるようにすること

バックエンドはデータベースからデータを取得するだけです。クライアントは、そのデータの表示を処理します。

あなたはケーキを作るために何か助けを得るために友人に電話すると言う。あなたは食材を持っていますが、それを作る方法は分かりません。 あなたは自分の場所で来るようにあなたの友人を頼みたいのですか?彼はケーキを作るのを助けることができますか?それとも、電話でそれを自分で作れるように指示しますか?

私は私の例が完全に正確であるかどうかわからないんだけど:P

+0

こんにちは、ご回答いただきありがとうございます。私はあなたの答えと非常に混同しています。私の混乱は、JSONを使用するのか、JSONの代わりにモデルのバインディングを使用するのか、コントローラからのデータを取得する良い方法は何ですか? – user2738864

+0

@ user2738864ああ、申し訳ありません。私はまだ熟練していません。私が働いているスタートアップは、これらの両方を使用しており、どちらが良いかはわかりません。私はあなたのプロジェクトがどのように構築されているか、そしてあなたのニーズは何かに依存していると思います。 –

+0

よろしくお願いします。 – user2738864