-
我正在处理两种类型的数据:"类类型"和"纪律"。 类类型是驱动二级学科。 这个想法是每个类类型将有一个分配给他们的学科数量。 所以,我想做的是学科取决于 CLassType 的选择。 我怎么会在视图中使用 Microsoft MVC 3 框架执行此操作吗? 这以下是我的控制器/型号/视图代码:
CONTROLLER:
public actionresult create() { 列表 c_types = 新列表(); 列表光盘 = 新列表();
c_types = m_activeContract.getCtypeList(); disc = m_activeContract.getDisciplineList(); // TODO: fetch from repository or database var model = new ExampleDocument { ClassTypes = a_modes, Disciplines = disc }; return View(model); } MODEL: public int ClassTypeId { get; set; } public int DisciplineId { get; set; } public List<ClassType> ClassTypes { get; set; } public List<Discipline> Disciplines { get; set; } VIEW: @using (Html.BeginForm("Create", "Example") ) { <p>Class Type: @Html.DropDownListFor( x => x.ClassTypeId, new SelectList(Model.ClassTypes, "Id", "Name"))</p> <p>Discipline: @Html.DropDownListFor( x => x.DisciplineId, new SelectList(Model.Disciplines, "Id", "Name")) </p> <p> <input type="submit" value="Create" /> </p> }
-
在控制器中,使用业务规则基于 ClassTypeId 填充规程类型实体列表。
-
此外,添加一个控制器操作,该操作获取传入类类型 ID 的规程类型实体的 json 结果。
-
在您的视图中,在更改"类类型"字段时添加一个 javascript 事件。 在这种情况下,请使用 ajax 回调控制器操作,该操作基于类 ID 返回规程类型列表,并使用它来填充规程类型下拉列表。 这样,当用户选择不同的类类型时,学科类型列表也会更改。
类类型驱动二级学科
所以我认为你必须在 ClassType 的下拉菜单中在 JavaScript 中进行 ajax 调用并在学科中填充数据