Проблема в следующем: я хочу запустить 3 разных действия, но вместо этого хочу, чтобы все данные были получены от одного действия в более крупной модели.Как передать несколько моделей в ASP.NET MVC?
Я использую:
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; }
}
Я использую LINQ для добавления данных в этих моделях.
Я использую:
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
Это один из способов я хочу добавить данные в ссылку и титул всех классов.
Моя попытка является добавление данных для всех 3-х классов из различных источников и передать большую модель для просмотра, так что я могу получить доступ ко всем классам, как:
@model SearchScrapClass
@using(Html.BeginForm()) {
@Html.EditorFor(o => o.WClass.link)
...
}
Пожалуйста, предложить способ
Спасибо
создать ViewModel, которая связывает все три модели вместе и введите вид этой ViewModel. – Brian
Я в замешательстве, почему у вас есть 3 разных класса, которые выглядят одинаково? Почему бы просто не использовать 3 разных экземпляра одного класса? – hermiod
@hermiod: Actaully логика, которую я показал, выглядит аналогично [немного изменен], но источники, откуда они извлекают URL и контент, различны. Поэтому мне нужны разные классы. – Man8Blue