Позвольте мне объяснить мою проблему:
У меня есть четыре таблицы, созданные как объекты с использованием Entity Framework.Я добавил класс репозитория в модель сущности для добавления / удаления / получения / запроса необходимых мне данных.
public class YPlaylistRepository
{
private aspnetdbEntities entities = new aspnetdbEntities();
//
// Query Methods
public IQueryable<Song> FindAllSongs()
{
return entities.Songs;
}
public IQueryable<TopTenFav> FindAllTopTen()
{
return entities.TopTenFavs;
}
public IQueryable<Genre> FindAllGenres()
{
return entities.Genres;
}
}
и т. Д. *
Мое представление индекса разделено нанекоторые частичные представления, такие как:
@{
ViewBag.Title = "Home Page";
}
@Html.Partial("_PartialPlayer")
<div>
@Html.Partial("_PartialOtherFav")
<div id="topTenContainer" style="float: left; width:450px;margin-top:49px;">
@Html.Partial("_PartialTopTenFav")
@Html.Partial("_PartialCurrentFav")
, скажем, в моем _PartialOtherView у меня есть форма, где я хочу ввести некоторую информацию и добавить ее в базу данных:
@model yplaylist.Models.TopTenFav
<div id="otherFavContainer">
<div id="txtYoutubeLinkContainer">
@using (Html.BeginForm("AddTopTenFav", "Home", FormMethod.Post, new { id = "AddTopTenFavForm" }))
{
<span id="youTubeLinkSpan">Youtube Link</span>
<div>
@Html.TextBoxFor(modelItem => modelItem.YoutubeLink, new { id ="youTubeLinkTxt" })
</div>
<span id="youTubeNameSpan">Song Title</span>
<div>
@Html.TextBoxFor(modelItem => modelItem.Title,new{id="youTubeNameTxt"} )
</div>
<button type="submit" name="btnCreateComment" value="">submit</button>
}
</div>
</div>
</div>
Этозапрос идет к контроллеру:
public class HomeController : Controller
{
private YPlaylistRepository repository = new YPlaylistRepository();
public ActionResult Index()
{
var topTenList = repository.FindAllTopTen().ToList();
return View(topTenList);
}
public ActionResult About()
{
return View();
}
public ActionResult Users()
{
return View();
}
[HttpPost]
public ActionResult AddTopTenFav(TopTenFav topTen)
{
topTen.Date = DateTime.Now;
topTen.UserName = User.Identity.Name;
repository.AddTopTen(topTen);
repository.Save();
return RedirectToAction("Index");
}
}
как мне решить проблему передачи правильной модели в мой индексный просмотр, когда все мои частичные просмотры будут иметь дело с разными моделями ... я пытался создать классэто инкапсулирует все мои модели, но это только создало дополнительные проблемы, потому что мой объект сущности возвратил определенные типы, не найденные в моей "HomeViewModel", такие как список объектов и т. д.
это действительно смущает меня, как бы я решил этоЯ уверен, что это можно сделать как-нибудь, но как правильно?заранее спасибо