私は投票システムを作成しようとしていますが、問題があります。 私は、ADO.NET Entity Frameworkでクラスを生成する必要があります 2番目はコントローラクラスからリポジトリクラスを作成するために作成します 私のデータベースからPool Questionsを返すPollControllerクラスにActionResultメソッドを作成します。私は一つの粒子ビューは、私が辞書に渡されるモデルアイテムはタイプ「にSystem.Collectionsである私は私のIndex.cshtmlでこの粒子を入れたとき、それは私にこのエラーを与える特定の質問 のためのオプションを表示するには、それを作成する必要があり辞書に渡されたモデル項目は、 'System.Collections.Generic.List ... in ASP.net MVC
.Generic.List
は、ここに私のコード Poll.cs
public partial class Poll
{
public Poll()
{
this.PollOptions = new HashSet<PollOption>();
}
public int PollID { get; set; }
public Nullable<System.DateTime> AddedDate { get; set; }
public string AddedBy { get; set; }
public string QuestionText { get; set; }
public bool IsCurrent { get; set; }
public bool IsArchived { get; set; }
public virtual ICollection<PollOption> PollOptions { get; set; }
}
PollOptionです。 CS
public partial class PollOption
{
public int OptionID { get; set; }
public Nullable<System.DateTime> AddedDate { get; set; }
public string AddedBy { get; set; }
public string OptionText { get; set; }
public int PollID { get; set; }
public Nullable<int> Votes { get; set; }
public virtual Poll Poll { get; set; }
}
PollRepository.cs
public class PollRepository
{
private PollPlatFormEntities entities = new PollPlatFormEntities();
public IQueryable<Poll> GetPolls()
{
return entities.Polls;
}
public Poll GetPoll(int Id)
{
return entities.Polls.FirstOrDefault(p => p.PollID == Id);
}
public IQueryable<Poll> CurrentPoll()
{
return entities.Polls.Where(c => c.IsCurrent == true);
}
public PollOption GetPollOption(int Id)
{
return entities.PollOptions.FirstOrDefault(o => o.OptionID == Id);
}
PollController.csここ
public class PollsController : Controller
{
PollRepository pollRepository = new PollRepository();
//
// GET: /Polls/
public ActionResult Index()
{
var polls = pollRepository.GetPolls().ToList();
return View(polls);
}
}
は私のindex.cshtml図である
@model IEnumerable<PollSystem.Models.Poll>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.QuestionText)
@Html.Partial("PollItem")
</td>
</tr>
}
そして最後に私のパーティクルビュー
@model PollSystem.Models.Poll
<div id="[email protected]" class="poll">
<h2>@Model.QuestionText</h2>
@using (Html.BeginForm(FormMethod.Post))
{
<ul class="poll-options">
@foreach (var option in Model.PollOptions)
{
<li class="option" id="[email protected]">
<input type="radio" id="[email protected]" value="@option.OptionID"/>
<label class="text" for="[email protected]">
@option.OptionText
</label>
</li>
}
</ul>
<button type="submit" name="poll-submit">Vote</button>
}
</div>
ありがとうございました。 lanationはより便利です – Mohammed