我正在为我的小企业开发一个简单的MVC 2时间表应用程序。使用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>
基于用户选择的客户dropdo选择
但后来我需要填充第二下拉列表(taskDropDownList与特定客户相关联的任务) wnlist。
但我该怎么做到这一点?我看过jQuery的例子,但我不知道如何将它们应用于这种情况。此外,这些示例似乎只是使用字符串值填充列表。我需要能够访问具有所有属性的对象。因为我需要做的下一件事是能够使用输入字段的值(即在特定日期工作的小时数)填充所选任务的TimeSegments列表。并且为了将其保存到控制器中的“模型”(最终到数据库)中,除非对象都是绑定到View的同一模型的一部分,否则我该如何获取它?
由于我仍然发现视图和控制器之间的连接很难处理,我比较喜欢这样做,因为我比较喜欢这样。 Windows开发,这些东西很容易做到。所以,如果有人愿意这样做,我会非常感激一个好的一步一步的例子!