我有一個觀點,即輸出問題列表(yesno和多項選擇)。對於多項選擇問題,我想通過可能的多選答案,但我無法弄清楚如何傳遞2個查詢。有沒有辦法做到這一點,或更好地處理另一種方式?可以將2個Linq查詢傳遞給1個視圖嗎?
控制器代碼:
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());
}
查看代碼:
<% 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
<% }
} %>
編輯
我創建一個視圖模型類
視圖模型類代碼:
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);
}
,並把它添加到我的觀點的繼承:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<QuestionnaireApp.Models.Questionnaire>>" %>
模型信息似乎並沒有被使得它作爲我現在的所有item.fieldname的作爲回來沒有一個定義。我是否過分複雜呢?
我相信這就是答案。我將在下一個問題中深入探討一些問題。謝謝。 – JeffM 2010-11-11 19:23:38