Это может быть трудно объяснить, но, пожалуйста, несите меня ... Итак, у меня есть модель, которая объединяет две разные модели, чтобы я мог использовать данные, найденные как в одном представлении: Комбинированное:Доступ к кускам комбинированной модели в контроллере
public class EventFullModel
{
public AccessListModel AccessPointsList;
public EventListModel EventList;
}
Access Список Модель:
public class AccessListModel
{
public int Id { get; set; }
public List<SelectListItem> AccessPoints { get; set; }
}
Список событий Модель:
public class EventListModel
{
public int Id { get; set; }
public virtual string T { get; set; }
public virtual string C { get; set; }
public virtual string M { get; set; }
public virtual string L { get; set; }
public List<SelectListItem> Events { get; set; }
public IEnumerable<SelectListItem> Skills { get; set; }
}
I A m в настоящее время получает ошибку, которая, как мне кажется, проистекает из того факта, что метод контроллера для этого представления первоначально возвращал только EventListModel
, тогда как теперь он пытается вернуть EventFullModel
, так как я изменил наследование: Inherits="System.Web.Mvc.ViewPage<Cred.Web.Models.EventFullModel>"
. Поэтому на этом этапе я пытаюсь отредактировать контроллер, чтобы убедиться, что он пытается вернуть правильную модель для представления. Моя проблема заключается в следующем:
Это метод GET действие: public ActionResult Index(int? id)
Первоначально контроллер работал только с EventListModel
:
EventListModel model;
model = new EventListModel {
Id = 0,
T = "",
C = "",
M = "",
L = HttpContext.Session["L"].IsNull() ? "" : HttpContext.Session["L"].ToString(),
Events = new List<SelectListItem>(),
Skills =
DbQueryExecutor.ExecuteQuery(new SkillsList()).Select(e => new SelectListItem { Text = e.Certification, Value = e.Certification, Selected = false })
Так что я в принципе интересно, как я могу изменить это, чтобы получить доступ к тем кусочки EventListModel
, но у меня есть model = new EventFullModel?
(Отказ от ответственности: Я изменил имена нескольких вещей, и я работаю над редактированием части программного обеспечения, которое я изначально не написал, поэтому я стараюсь как можно меньше изменить в надежде не «ломать» другие части программного обеспечения.)
Извините, но нет, это фактически метод действия GET. он просто возвращает информацию с сервера, он не передает какую-либо информацию ему. Кроме того, он получает только параметр '(int? Id)' в качестве параметра. Я обновлю свое оригинальное сообщение с этой информацией. Спасибо, но – Jfabs
В настоящее время я работаю над кодом для использования AccessListModel в контроллере, но пока я это делаю, мне было интересно: Выполнение этого обязательного '{get; set;} 'объявления в EventFullModel, должно ли это повлиять на мою способность использовать HTML-помощники на мой взгляд? '<% = Html.TextBoxFor (x => x.EventsList.L)%>' – Jfabs
Нет, это не повлияет на это. – SOfanatic