私は中小企業用の単純な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>
しかし、私は、ユーザーが顧客に選択した選択に基づいて第2のDropDownList(特定の顧客に関連するタスクのためのtaskDropDownList)を移入する必要がありdropdo wnlist。
どうすればいいですか?私はjQueryで例題を見てきましたが、この状況にどのように適用するかはわかりません。また、例では文字列値をリストに入れるだけです。私はすべてのプロパティを持つオブジェクトにアクセスできるようにする必要があります。私がする必要があるのは、選択したタスクのTimeSegmentsリストに入力フィールドの値(特定の日付で働いた時間)を設定できるようにすることです。そして、それがコントローラの "モデル"(最終的にはデータベース)に保存されるためには、オブジェクトがビューにバインドされた同じモデルのすべてである場合を除いて、どうすればそれを取得できますか?
私はまだViewとControllerの間の接続が扱いにくいので、これはかなり薄い氷上です。これらのことはむしろ簡単なWindows開発です。誰かがそれを提供するほど親切であれば、私は本当にステップの例で良いステップを感謝します!