2011-08-09 9 views
0

私は、データベーステーブルから返された質疑応答を表示しています(たぶん5回、たぶん7回)。質問はそれぞれdivに表示され、関連する回答は別のdivに表示されます。質問には「回答を表示/非表示にする」アイコンが表示されますasp.netで動的にデータを埋め込む

divを作成してテーブルの値を入力するにはどうすればよいですか?私たちは、あなたの質問データと、ページの残りのコンテキストを取得する方法についての詳細を知っている必要がありますが、あなたは(おおよそ優先順に)ここではいくつかのことを行うことができます

おかげ

答えて

1

私はそのためにリピーターを使用します。すべての行のための<itemTemplate>タグで返さいただきまし

<asp:repeater DataSourceId="sqldsQuestionsAnswers" runat="server"> 
<itemTemplate> 
    <div> 
    <%# Eval("question") %> 
    <hr/> 
    <%# Eval("answer") %> 
    </div> 
</itemTemplate> 
</asp:repeater> 

リピーターが何も表示されます。そのデータソースにリンクしてデータベース

<asp:sqlDataSource Id="sqldsQuestionsAnswers" ... /> 

2.Createリピーターからデータを引っ張って

1.Createデータソースあなたの質問で
クエリで2つの質問が返された場合:

質問-------------回答
------------------ -----------------
質問1?----------答え1
質問2?----------答え2

出力は次のようになります。私はそれが役に立てば幸い

<div> 
question1? 
<hr/> 
answer1 
</div> 
<div> 
question2? 
<hr/> 
answer2 
</div> 

...

+0

あなたの応答は非常に役に立ちますが、クライアントは画像アイコン「回答を表示」をクリックして回答を表示する必要があります。彼らは答えを隠すために同じイメージをクリックする能力を持っています。リピータコントロールで表示/非表示を行うことはできますか? – DotNetRookie

+1

@DotNetRookie - もちろん可能ですが、最良の方法はjavascriptで表示/非表示部分を書くことです –

+0

Joelが言ったように。答えを表示/非表示にJavaScriptを使用 –

1

    <asp:Repeater >コントロールにデータをバインドする(またはグリッドコントロールの一つでも)
  • は、あなたの質問にレンダリングするためにカスタムまたはユーザーコントロールを構築し、コード内の文字列として
  • をご希望のhtmlを作成し、あなたのページにそのドロップ
  • 設定それは<asp:Panel >になります(パネルはdivタグとしてレンダリングされます)。ページ全体(AJAX)をリロードすることなくdivを更新できるようにしたい場合は、<asp:UpdatePanel >を使用できます。
  • コードに希望のhtmlを作成し、<%= %>または<%: %> bee-tingsまたはResponse.Write()メソッドを使用して、直接応答に書き込みます。
+0

データが選択statemを持つ単純なストアドプロシージャですすべての行を含む1つのテーブルに割り当てます。データベースからデータを取得する限り、私はその部分に取り組んでいます – DotNetRookie

関連する問題