2010-12-05 63 views
0

我正在为我的小企业开发一个简单的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开发,这些东西很容易做到。所以,如果有人愿意这样做,我会非常感激一个好的一步一步的例子!

回答

相关问题