我对 ASP.NET 很陌生,我正在使用 ASP.Net 的 MVC 3 框架。我试图使用另一个下拉列表过滤下拉列表的选项,但我无法做到这一点。我首先尝试通过填充主要类别和子类别的列表并将它们加载到页面来执行此操作。然后将每个子类别的选项的类属性设置为其父类别。最后,从第一个下拉列表中单击父类别仅显示子子类别并隐藏其余部分(这是我以前在 java 中所做的)。但是在 ASP.Net MVC 中,html 代码是如此不同,我什至无法为下拉菜单的每个选项设置类属性,它通常为所有下拉菜单设置类,而不是为每个选项设置类。这就是我现在拥有的 这是我的观点
<p>
@Html.LabelFor(model => model.CategoryId)
@Html.DropDownListFor(x => x.CategoryId , new SelectList(Model.Categories, "CategoryId", "CategoryName"), new { onchange= "this.form.submit();"})
</p>
<p>
@Html.LabelFor(model => model.SubCategories)
@Html.DropDownListFor(x => x.SubCategories, new SelectList(Model.SubCategories, "SubCategoryId", "SubCategoryName"), new { @class = "Category1.categoryname" })
</p>
这是我的模型
public class TestQuestionsViewModel
{
public string CategoryId { get; set; }
public IEnumerable<Category> Categories { get; set; }
public string SubCategoryId { get; set; }
public IEnumerable<SubCategory> SubCategories { get; set; }
}
这是我的控制器类方法
public ActionResult Create()
{
var model = new TestQuestionsViewModel
{
Categories = resetDB.Categories.OrderBy(c => c.categoryid),
SubCategories = resetDB.SubCategories.OrderBy(sc => sc.subcategoryid)
};
return View(model);
}
我的问题是如何为每个单独的选项设置类属性。或者,如果有人对如何以不同的方式执行此操作有任何建议,我愿意接受任何解决方案。谢谢你。