私は新しい ASP.NET 開発者で、ASP.NET Web サイトで説明されているものと同様の単純なクイズ エンジン Web ベース アプリケーションを開発しました。アプリケーションは、単一の回答または複数の回答を持つ複数の選択肢の質問など、さまざまな種類の質問を表示する必要があります。現在、可能な選択肢 (2 つの選択肢または 4 つまたは 5 つの選択肢) を含む質問を表示するクエリに苦労しています。次のデータベース設計があります。
Questions Table: QuestionID, Question, QuestionOrder, AnswerExplanation
Answers Table: AnswerID, Answer
Quiz Table: QuizID, Title, Description
QuizContent Table: ID, QuizID, QuestionID, AnswerID, isCorrect
(isCorrectはその問題の正解を指すフラグです)
StackOverFlow の誰かが提案したように、ネストされた GridViews として実装することから始めました。しかし、可能な回答のみを含む質問を取得し、[次へ] ボタンをクリックして別の質問に移動する方法がわかりません。それで、これを修正するのを手伝ってくれませんか?
私の ASP.NET コード:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="QuestionID" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="QuestionID" HeaderText="QuestionID"
InsertVisible="False" ReadOnly="True" SortExpression="QuestionID" />
<asp:BoundField DataField="Question" HeaderText="Question"
SortExpression="Question" />
<asp:BoundField DataField="QuestionOrder" HeaderText="QuestionOrder"
SortExpression="QuestionOrder" />
<asp:BoundField DataField="AnswerExplanation" HeaderText="AnswerExplanation"
SortExpression="AnswerExplanation" />
<asp:TemplateField>
<ItemTemplate>
<asp:GridView ID="AnswersGridView" runat="server" AutoGenerateColumns="false"
DataKeyNames="AnswerID" DataSourceID="SqlDataSource2">
<Columns>
<asp:BoundField DataField="AnswerID" HeaderText="AnswerID"
InsertVisible="False" ReadOnly="True" SortExpression="AnswerID" />
<asp:BoundField DataField="Answer" HeaderText="Answer"
SortExpression="Answer" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:Quiz2ConnectionString %>"
SelectCommand="SELECT * FROM [Answers]"></asp:SqlDataSource>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:Quiz2ConnectionString %>"
SelectCommand="SELECT * FROM [Questions]"></asp:SqlDataSource>
ここで、可能な回答または選択肢 (2 つまたは 4 つまたは 6 つの選択肢) を含むあらゆる種類の質問を表示できるクエリを考え出す必要があります。
注: ASP.NET コードに示されているように、設計で QuizID を SessionParameter として使用する必要がありますか?