2011-11-14 4 views
1

asp webformプロジェクト内で、次のように結果コレクションを返すWebサービスを呼び出しています。最初のリターンは、データのみのリピータで書籍のタイトルを表示し、詳細をユーザーがクリックすると、残りを表示した後に、コレクションのwebformsのjqueryを使用して.netコレクションの項目にアクセスする方法

擬似コードリターンが

content (items are key value pair) 
ID, 001 
Title , My Book 
DateCreated , 10/10/2011 
Author, JSmith 

私は何をしたいのですフォームの別のペインのdivコンテナ内のフィールド。私はこれをSilverlightとMVCのジェネリックリストで行ってきましたが、このプロジェクトではどちらも使用できません。

私はいくつかの研究を行うにあたり、人々がjsonを使って同様の呼び出しを行う場所を見てきました。しかし、私はフィドラーでデバッグし、コレクション全体がUIに返されているのを見ることができるので、コレクションに直接アクセスして新しいコールをサーバーに戻すことができるはずです。 UI内では、UIのデータ内のデータをレンダリングするために、asp:netコントロールは使用しませんが、標準HTMLは使用しません。

<div class="resultcontainer"> 
        <span class="labeltitle-small">Book Title</span><br /> 
        <%= BookResults[0].Title %> 
       </div> 

私は私が立ち往生していますどこただし、結果を照会して返すことができるよ私は、関連するレコードの二次データと呼びます内容を表示するための最良のアプローチです。

(クライアントから)コレクションのビュー値のみを表示し、レコードが選択されると、他の値がユーザーに表示される方法については、本当に感謝しています。

はあなたに

+0

サーバーにコールバックする必要があります。自分のコンピュータ上のWebブラウザで実行されているコードが、サーバーのデータ構造に直接アクセスできるようになりましたか? – Pointy

+0

@Pointyそれは私を混乱させるものです。結果が返され、UIにバインドされると、UIで明示的に定義されたプロパティのみが保持されますか?他のプロパティを含むクライアントにプッシュされたメモリ内コレクションはありませんか? MVCとMVVMでは、ビューにバインドして必要に応じてプロパティにアクセスできる場合がありました。私はこれがwebformの場合ではないと推測していますか? UIがレンダリングするとコレクションが破棄されていることに基づいて、サーバーに戻らずにクライアントから値にアクセスできなくなります。 – rlcrews

+0

いいえ、クライアントに到達するすべてのものは、明示的に制御されたHTTP応答に含まれています。ブラウザ環境は、他の方法ではサーバ側の状態を全く意識していません。最初にフェッチされたときにページに必要なものが含まれていれば、クライアントはサーバーに別の要求を行う必要があります。 – Pointy

答えて

2

まあ、おそらく少し明らかに感謝していますが、jQuery.ajaxを使用して、AJAXを少し検討していますか? divにonclick evenハンドラを添付して、ユーザーが特定のブックを選択したときにページの適切な部分にデータを読み込むことができます。

コントローラから一部のビューを返すことができます。結果のHTMLは、$("#detailDiv").html(partialView)の行に沿って何かを使ってdivに表示することができます。

+0

Pieterありがとうございます。あなたのソリューションは正確ですが、MVCパターンのアプローチにも依存しているようです。これは、コントローラ、ビュー、データコンテキストを作成することの依存関係を部分的なビューをWebフォームにプッシュするためのものですが、これはプロジェクトのこの部分でやりたいことです。 – rlcrews

関連する問題