Я делаю веб-приложение в MVC, похожее на Change.org, где пользователи могут создавать причины для подписи других людей. В моем представлении указателя причины я пытаюсь отобразить список людей, подписавших причину. Я могу использовать счетчик в списке для отображения количества подписей, но я пытаюсь получить доступ к элементу в списке для их отображения. Любая помощь по этому вопросу будет принята с благодарностью.
Мои модели подразделяются на Причину, Подпись и Категории, например ...
Причина:
public class Cause
{
[Key]
[StringLength(100)]
[DisplayName("Cause Title")]
public string CauseTitle { get; set; }
[Required]
[StringLength(500)]
public string Description { get; set; }
[Required]
public string UserEmail { get; set; }
[Required]
[DisplayName("Date Posted")]
public DateTime DatePosted { get; set; }
public string ImageURL { get; set; }
[DisplayName("Catagory")]
public string CatagoryTitle { get; set; }
[ForeignKey("CatagoryTitle")]
public Catagory Catagory { get; set; }
[DisplayName("Signatures Target")]
public int TargetSignatures { get; set; }
public virtual List<Signature> Signatures { get; set; }
}
категоризация:
public class Catagory
{
[DisplayName("Catagory Title")]
[Key]
public string CatagoryTitle { get; set; }
[DisplayName("Catagory Description")]
public string CatagoryDescription { get; set; }
public virtual List<Cause> Causes { get; set; }
}
Подпись:
public class Signature
{
[Key]
public int SignatureId { get; set; }
[Required]
public string UserEmail { get; set; }
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
[Required]
public string CauseTitle { get; set; }
[ForeignKey("CauseTitle")]
public virtual Cause Cause { get; set; }
}
Контроллер индекса моей причины:
public class CausesController : Controller
{
private CauseContext db = new CauseContext();
// GET: Causes
public ActionResult Index()
{
var causes = db.Causes.Include(c => c.Catagory);
return View(causes.ToList());
}
и мой индексный вид:
@model IEnumerable<SoWokeWebApp.Models.Cause.Cause>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@foreach (var item in Model)
{
<div class="jumbotron">
<img src="@item.ImageURL" alt="Alternate Text" class="img-fluid" />
<h1>@Html.DisplayFor(model => item.CauseTitle)</h1>
<p>@Html.DisplayFor(model => item.Description)</p>
<p>@item.Signatures.Count</p>
@foreach (var Signature in item.Signatures)
{
<p>Signature.</p>
}
<p><a class="btn btn-primary btn-lg" href="#" role="button">@Html.ActionLink("Sign Cause", "Create", "Signatures")</a></p>
</div>