J'ai une vue qui produit une liste de questions (oui et choix multiple). Pour les questions à choix multiple, je veux aussi passer les réponses possibles à choix multiples mais je n'arrive pas à comprendre comment passer 2 requêtes. Existe-t-il un moyen de le faire ou est-il mieux géré d'une autre manière?Est-ce que 2 requêtes Linq peuvent être passées à 1 View?
Code du contrôleur:
public ActionResult Test(int id)
{
var listofquestions = from m in db.vQuestionnaireQuestions
where m.Questionnaire_ID.Equals(id)
select m;
return View("Test", listofquestions.ToList());
}
Afficher le code:
<% foreach (var item in Model)
{ %>
<br />
<%: item.Question_Text %>
<%if (item.Question_Type_ID == 1) //Yes-No Question
{ %>
//Yes-No Stuffs
<% }
else if (item.Question_Type_ID == 2) //Multiple Choice
{ %>
//Can I access a Linq query again here?
//I have Question_ID to use, but I don't think
//I can have 2 Models
<% }
else //All Else
{ %>
//All Else Stuffs
<% }
} %>
EDIT
J'ai créé un modèle de vue classe
Voir Code modèle Classe:
public IEnumerable<vQuestionnaireQuestion> FindAllQuestionnaireQuestionsTest()
{
return db.vQuestionnaireQuestions;
}
public vQuestionnaireQuestion GetQuestionnaireQuestionsTest(int id)
{
return db.vQuestionnaireQuestions.FirstOrDefault(q => q.Questionnaire_ID == id);
}
public IEnumerable<Multiple_Choice_Answers> FindAllMultipleChoiceAnswersTest()
{
return db.Multiple_Choice_Answers;
}
public Multiple_Choice_Answers GetMultipleChoiceAnswersTest(int id)
{
return db.Multiple_Choice_Answers.FirstOrDefault(q => q.Question_ID == id);
}
et ajouté à la inherits de mon avis:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<QuestionnaireApp.Models.Questionnaire>>" %>
Les informations de modèle ne semble pas faire comme maintenant tous mes item.fieldname de reviennent ne pas avoir une définition. Suis-je compliquer cela?
Je crois que c'est la réponse. Je vais approfondir un peu plus dans ma prochaine question. Merci. – JeffM