我正在处理两种类型的数据:“ClassType”和“Disciplines”。ClassType 是驱动次要学科的主数据类型。这个想法是每个 ClassType 都将分配有许多 Disciplines。所以,我想做的是让学科取决于 CLassType 的选择。我将如何使用视图中的 Microsoft MVC 3 框架来做到这一点?以下是我的控制器/模型/视图代码:
CONTROLLER:
公共 ActionResult Create() { List c_types = new List(); 列表盘 = 新列表();
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> }
问问题
154 次
2 回答
1
在您的控制器中,使用您的业务规则根据 ClassTypeId 填充您的学科类型实体列表。
此外,添加一个控制器操作,该操作为传入的类类型 ID 获取学科类型实体的 json 结果。
在您看来,在 Class Type 字段的更改上添加一个 javascript 事件。在这种情况下,使用 ajax 回调到控制器操作,该操作根据类 id 返回一个学科类型列表,并使用它来填充你的学科类型下拉列表。这样,当用户选择不同的 Class Type 时,DisciplinesTypes 列表会发生变化。
于 2012-05-15T14:08:58.020 回答
0
ClassType 驱动二级学科
所以我认为你必须在 ClassType 的下拉菜单中使用 javascript 进行 ajax 调用并在 Discipline 中填充数据
于 2012-05-15T14:01:56.127 回答