// GET: /Tbl87Geographics/
public ActionResult Index(int page = 1) {
var tbl87GeographicsToShow = tbl87GeographicsRepository.FindAllSort().ToList();
var viewModel = new Tbl87GeographicsListViewModel {
Tbl87Geographics = tbl87GeographicsToShow.Skip((page - 1) * PageSize).Take(PageSize).ToList(),
PagingInfo = new PagingInfo {
CurrentPage = page,
ItemsPerPage = PageSize,
TotalItems = tbl87GeographicsToShow.Count()
}
};
return View(viewModel);
}
public IQueryable<Tbl87GeographicsEntity> FindAllSort() {
return from d in Tbl87Geographics
orderby d.FiSpeciesID, d.PlSpeciesID
select d ;
}<td><%: Html.ActionLink(!!xxFiSpeciesNamexx!!, "Details", new { Model.FiSpeciesID })%></td> <td><%: Model.FiSpeciesID %></td>
|
News:
|
// GET: /Tbl87Geographics/
public ActionResult List(int page = 1)
{
var query = from s in tbl69FiSpeciessesRepository.Tbl69FiSpeciesses
join d in tbl87GeographicsRepository.Tbl87Geographics
on s.FiSpeciesID equals d.FiSpeciesID
select new
{
FiSpeciesID = d.FiSpeciesID,
PlSpeciesID = d.PlSpeciesID,
FiSpeciesName = s.FiSpeciesName
};
xxxx var tbl87GeographicsToShow1 = query.ToList();
var tbl87GeographicsToShow = tbl87GeographicsRepository.FindAllSort().ToList();
var viewModel = new Tbl87GeographicsListViewModel
{
Tbl87Geographics = tbl87GeographicsToShow.Skip((page - 1) * PageSize).Take(PageSize).ToList(),
PagingInfo = new PagingInfo
{
CurrentPage = page,
ItemsPerPage = PageSize,
TotalItems = tbl87GeographicsToShow.Count()
}
};
return View(viewModel); // Passed to view as ViewData.Model (or simply Model)
}
|
|
from s in TblFiSpeciessesEntity
join d in Tbl87Geographics
on s.FiSpeciesID equals d.FiSpeciesID
select new {
FiSpeciesID = d.FiSpeciesID,
PlSpeciesID = d.PlSpeciesID,
FiSpeciesName = s.FiSpeciesName
};
|
|
public IQueryable<Tbl87GeographicsEntity> FindAllSort()
{
return from s in Tbl69FiSpeciesses
xx join d in Tbl87Geographics
on s.FiSpeciesID equals d.FiSpeciesID
select new
{
FiSpeciesID = d.FiSpeciesID,
PlSpeciesID = d.PlSpeciesID,
FiSpeciesName = s.FiSpeciesName
};
}
|
|
from s in TblFiSpeciessesEntity
join d in Tbl87Geographics
on s.FiSpeciesID equals d.FiSpeciesID
select d
Model.Tbl87FiSpeciesses1.FiSpeciesName // bei 1 : 1 Beziehung
Model.Tbl87FiSpeciesses1[0].FiSpeciesName // bei 1 : n für das erste Element
@edit: habe zu spät gelesen, dass du nicht mit .dbml arbeitest, wenn also obiges mit deinem Modell nicht möglich ist:
Versuche den anonymen Typ durch eine eigene Klasse mit den notwendigen Properties zu ersetzen und ein IQueryable<VondieserKlasse> zurückzugeben. Mit Tbl87Geographics als Rückgabe-Typ in der Liste kann es nicht funktionieren, solange du den anonymen Typ verwendest und solange Tbl87Geographics nicht ein Property für TiSpeciesName hat.
sonst fällt mir auch keine Lösung mehr ein, da ich dein NinjetFactory nicht kenne.
|
|
|
Habe festgestellt, es liegt an der NinjectFactory.
Habe im Netz auch nichts gefunden, wo dieses Problem beschrieben wird. Habe zuerst gedacht,es liegt am ViewModel. Steven Sandersen beschreibt es gut in seinem Buch Pro asp.net MVC2 Framwork. Aber ich werde es mit der eigenen Klasse mal versuchen. Erst mal vielen Dank für die Geduld – Terppe 19.02.2011
|
||
| 1 |
Vielleicht kannst du von Tbl87Geographics ableiten, und die abgeleitete Klasse um die Eigenschaft FiSpeciesName erweitern, einen Konstruktor mit Tbl87Geographics, und int Parameter anlegen und dann IEnumerable<Tbl87GeographicsAbgeleitet> mittels new Tbl87GeographicsAbgeleitet(d, sFiSpeciesName) aus dem Linq Statement zurückgeben?
– Maria Simlinger 19.02.2011
|
|
| 1 |
Korrektur zu meinem obigen Kommentar, der Konstruktor braucht Tbl87GeographicsAbgeleitet(Tbl87Geographics wrappedObject, string FiSpeciesName). Dafür zwei Properties vorsehen, an die du die beiden Parameter zuweist. FiSpeciesName-Property muss public sein, das andere nicht.
– Maria Simlinger 19.02.2011
|
|
<td><%: Html.ActionLink(Model.Tbl72PlSpeciesses.Tbl66Genusses.GenusName+" "+Model.FiSpeciesName+" "+Model.Subspecies+" "+Model.Divers, "Edit", new { Model.FiSpeciesID }) %></td>[Authorize(Roles = "Administrator, Developer, Zoologist, Biologist")]
public ActionResult Create()
{
var query1 = from d in tbl69FiSpeciessesRepository.Tbl69FiSpeciesses
select new
{
FiSpeciesID = d.FiSpeciesID,
DDLFiName = d.Tbl66Genusses.GenusName + " " + d.FiSpeciesName + " " + d.Subspecies + " " + d.Divers
};
ViewData["languages"] = new SelectList(languages, tbl78Name.Language);
ViewData["FiSpeciesNameDDL"] = new SelectList(query1.ToList(), "FiSpeciesID", "DDLFiName");
}
<tr>
<td><%: Tbl69FiSpeciessesRes.StringsRes.FiSpeciesID%></td>
<td><%: Html.DropDownListFor(m => m.FiSpeciesID, ViewData["FiSpeciesNameDDL"] as SelectList, "--Select One--")%>
<%: Html.ValidationMessageFor(m => m.FiSpeciesID)%></td>
</tr>
|
|
Habe nur Interface, Entity und Repository.
Vielleicht liegt es an meinem ViewModel, wo ich nicht ganz durchblicke, denn ich verwende es nur zur Seitenzählung