Я пытаюсь разработать простое приложение с расписанием MVC 2 для моего малого бизнеса.
Пока у меня есть своего рода фиктивная модель, пока у меня нет базы данных, просто чтобы упростить процесс разработки.функциональность.Он состоит из следующего:
public class CustomersRepository
{
public CustomersRepository()
{
Customers = new List<Customer>();
}
public List<Customer> Customers { get; set; }
}
public class Task
{
public Task()
{
Customer = new Customer();
TimeSegments = new List<TimeSegment>();
}
public override string ToString()
{
return Name;
}
public string Name { get; set; }
public Customer Customer { get; set; }
public List<TimeSegment> TimeSegments { get; set; }
}
public class TimeSegment
{
public string Id { get; set; }
public string Date { get; set; }
public int Hours { get; set; }
}
public class Customer
{
//To show the name in the combobox instead of the object name.
public override string ToString()
{
return Name;
}
public Customer()
{
Tasks = new List<Task>();
}
public List<Task> Tasks { get; set; }
public string Name { get; set; }
}
Я инициализирую хранилище в контроллере и передаю «модель» представлению:
CustomersRepository model = new CustomersRepository();
public ActionResult Index()
{
InitializeRepository();
return View(model);
}
Теперь в представлении я заполняювыпадающий список с клиентами:
<div>
<%:Html.DropDownListFor(m => m.Customers, new SelectList(Model.Customers), new {@id="customerDropDownList"}) %>
</div>
Но тогда мне нужно заполнить второй выпадающий список (taskDropDownList для задач, связанных с конкретным клиентом) на основе выбора, выбранного пользователем в выпадающем списке клиентов.
Но как мне это сделать?Я видел примеры с jQuery, но я не уверен, как применить их в этой ситуации.Кроме того, примеры, кажется, просто заполняют списки строковыми значениями.Мне нужно иметь доступ к объектам со всеми их свойствами.Потому что следующее, что мне нужно сделать, - это заполнить список TimeSegments выбранной задачи значениями из полей ввода (т. Е. Часы, отработанные для определенных дат).И для того, чтобы это было сохранено в «модели» (в конечном итоге в базе данных) в контроллере, как мне получить его там, если только все объекты не являются частью одной и той же модели, связанной с представлением?
IЯ нахожусь в довольно слабом положении, поскольку мне все еще трудно установить связь между View и Controller, по сравнению, например, с разработкой Windows, где эти вещи довольно легко выполнить.Поэтому я был бы очень признателен за хороший пошаговый пример, если бы кто-нибудь был так любезен, предоставив это!