Gerçekten ASP.net MVC için yeni. Projemde 2 model var. Person.csmvc içinde veri sıralama
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
namespace CleryAct.Models
{
public class Person
{
[Key]
public string rockets { get; set; }
public bool csa { get; set; }
public string fname { get; set; }
public string lname { get; set; }
public string email { get; set; }
public virtual ICollection<Session> Sessions { get; set; }
}
}
Session.cs
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace CleryAct.Models
{
public class Session
{
[Key]
public int ID { get; set; }
public string rockets { get; set; }
public virtual Person Person { get; set; }
public DateTime training { get; set; }
}
}
Ben de içeride bir Ayrıntılar ve Dizin görünümü ile 1 görüntüleme klasör var. Bunu, kontrolör altında yeni bir iskele öğesi ekleyerek ve Kişisel Model Modelime bağlayarak oluşturdum. Ayrıntılarım klasöründe, ortaya çıkan tarihlerin listesini sıralamaya çalışıyorum. Sıralama fonksiyonumdaki tarihleri nasıl arayacağımı anlayamıyorum. Kişiler kontrolör Detaylar
public ActionResult Details(string id, string sortOrder)
{
ViewBag.CurrentSort = sortOrder;
ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date";
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Person person = db.Persons.Find(id);
if (person == null)
{
return HttpNotFound();
}
var persons = from s in db.Persons select s;
switch (sortOrder)
{
default:
persons = persons.OrderBy(s => s.Sessions);
break;
case "date_desc":
persons = persons.OrderByDescending(s => s.Sessions);
break;
}
return View(person);
}
Detaylar sizin için Oturumlar gelen eğitim tarihlerini bir koleksiyon yaratacak
<h2>Details</h2>
<div>
<h4>Person</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.lname), @Html.DisplayNameFor(model => model.fname)
</dt>
<dd>
@Html.DisplayFor(model => model.lname), @Html.DisplayFor(model => model.fname)
</dd>
<dt>
@Html.DisplayNameFor(model => model.rockets)
</dt>
<dd>
@Html.DisplayFor(model => model.rockets)
</dd>
<dt>
@Html.DisplayNameFor(model => model.email)
</dt>
<dd>
@Html.DisplayFor(model => model.email)
</dd>
<br />
<br />
<dt>
@Html.DisplayNameFor(model => model.Sessions)
</dt>
<dd>
<table class="table">
@foreach (var item in Model.Sessions) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.training)
</td>
</tr>
}
</table>
</dd>
</dl>
</div>
<p>
@Html.ActionLink("Edit", "Edit", new { id = Model.rockets }) | @Html.ActionLink("Back to List", "Index")
</p>
Bu nedenle, 'training' ile sıralanan '' '' '' '' '' '' 's' ile birlikte bir 'Person' almayı istersiniz, değil mi? –
Kişilerimin içinde, kişiyle ilgili daha fazla ayrıntıyı listeleyen bir düğmeyi tıkladım. Bölgede isimlerini dinledim ve önceki eğitim oturumlarının bir listesini yaptım. Bu eğitim oturumlarının tarihe göre sıralanmasını istiyorum. Eğitim oturumları, Oturumlar modelinden geliyor, ancak nasıl yapılacağını anlayamıyorum. – netgen