Problem ist: Ich möchte 3 verschiedene Aktionen ausführen, aber stattdessen möchte ich alle Daten aus einer einzelnen Aktion in einem größeren Modell zugeführt.Wie mehrere Modelle in ASP.NET MVC angezeigt werden?
Ich verwende:
public class SearchScrapClass
{
public WClass WClass { get; set; }
public SClass SClass { get; set; }
public YClass YClass { get; set; }
}
public class WClass
{
public string title { get; set; }
public string link { get; set; }
}
public class SClass
{
public string title { get; set; }
public string link { get; set; }
}
public class YClass
{
public string title { get; set; }
public string link { get; set; }
}
ich LINQ bin mit Daten in diesen Modellen hinzuzufügen.
Ich verwende:
var wikians = from info in document.DocumentNode.SelectNodes("//div[@id='span']")
from link in info.SelectNodes("div//a").Where(x => x.Attributes.Contains("href"))
select new SearchScrapClass //Main Bigger Class
{
WClass.link= link.Attributes["href"].Value, //ERROR: How to add to WClass's url ?
WClass.title= link.InnerText //ERROR: How to add to WClass's url ?
}
var wikians = from info in document.DocumentNode.SelectNodes("//div[@id='results']")
from link in info.SelectNodes("p//a").Where(x => x.Attributes.Contains("href"))
select new SearchScrapClass //Main Bigger Class
{
YClass.link= link.Attributes["href"].Value, //ERROR: How to add to YClass's url ?
YClass.title= link.InnerText //ERROR: How to add to YClass's url ?
}
//Also for the 3rd class (model)
return View(wikians); //and then return bigger class model so that i can access them in view
Dies ist ein Weg, ich will und Titel Verbindungsdaten hinzuzufügen aller Klassen.
Mein Versuch ist, Daten zu allen drei Klassen aus verschiedenen Quellen hinzufügen und das größere Modell übergeben, so zu sehen, dass ich alle Klassen als zugreifen:
@model SearchScrapClass
@using(Html.BeginForm()) {
@Html.EditorFor(o => o.WClass.link)
...
}
Bitte einem Weg
Dank vorschlagen
ein Ansichtsmodell erstellen, die alle zusammen drei Modelle binden und den Blick auf dieses Ansichtsmodell geben. – Brian
Ich bin verwirrt, warum Sie 3 verschiedene Klassen haben, die alle gleich aussehen? Warum nicht einfach 3 verschiedene Instanzen derselben Klasse verwenden? – hermiod
@hermiod: Tatsächlich sieht die Logik, die ich gezeigt habe, ähnlich aus [wenig geändert], aber die Quellen, von denen sie URL und Inhalt abrufen, sind unterschiedlich. Also brauche ich verschiedene Klassen. – Man8Blue