Entity Framework 最佳实践 drop-down 列表绑定
Entity Framework best practices drop-down list binding
这会很长,所以提前致歉。在 ASP.NET MVC 应用程序中,我正在编写一个作为搜索面板的部分控件。现在这个面板有
- class 选择 drop-down 但使用 table 而不是列表(table 有一个复选框,两列带有组 headers - class姓名和 no.of 学生)
- 年份选择作为下拉列表(希望是最简单的)
- 带复选框和组的指标列表 headers
我定义了一个View模型如下
public class SearchControlModel
{
public List<Class> Classes {get; set;}
public List<Year> Years { get; set; }
public List<Indicator> Indicators { get; set; }
}
我的实体在哪里:
public class Class
{
public int classID { get; set; }
public Nullable<int> grade { get; set; }
public string classname { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
public class Indicator
{
public int IndicatorID { get; set; }
public string IndicatorDescription { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
我的问题是:
显示 class 和指标(grid/table 显示为 drop-down)的正确控件是什么
我是直接使用 ado.net 实体还是通过存储过程?
如果我使用存储过程,我将不得不定义一个不同的实体,它只具有存储过程正在处理的特定属性,或者有其他方法吗?
在视图(cshtml 文件)上如何使用这些属性与 drop-down 或 table 绑定,例如类似于:
- @Html.LabelFor(m => m.Classes)
- @Html.DropDownListFor(m => m.Classes, new { @class = "form-control" })
简而言之,最好的方法是什么?
这里用一张图来说明一下
我正在使用 bootstrap-multiselect 自定义控件,但仍然想知道它是否能够在其中添加 detail/adjacent 列
这会很长,所以提前致歉。在 ASP.NET MVC 应用程序中,我正在编写一个作为搜索面板的部分控件。现在这个面板有
- class 选择 drop-down 但使用 table 而不是列表(table 有一个复选框,两列带有组 headers - class姓名和 no.of 学生)
- 年份选择作为下拉列表(希望是最简单的)
- 带复选框和组的指标列表 headers
我定义了一个View模型如下
public class SearchControlModel
{
public List<Class> Classes {get; set;}
public List<Year> Years { get; set; }
public List<Indicator> Indicators { get; set; }
}
我的实体在哪里:
public class Class
{
public int classID { get; set; }
public Nullable<int> grade { get; set; }
public string classname { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
public class Indicator
{
public int IndicatorID { get; set; }
public string IndicatorDescription { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
我的问题是:
显示 class 和指标(grid/table 显示为 drop-down)的正确控件是什么
我是直接使用 ado.net 实体还是通过存储过程?
如果我使用存储过程,我将不得不定义一个不同的实体,它只具有存储过程正在处理的特定属性,或者有其他方法吗?
在视图(cshtml 文件)上如何使用这些属性与 drop-down 或 table 绑定,例如类似于:
- @Html.LabelFor(m => m.Classes)
- @Html.DropDownListFor(m => m.Classes, new { @class = "form-control" })
简而言之,最好的方法是什么?
这里用一张图来说明一下
我正在使用 bootstrap-multiselect 自定义控件,但仍然想知道它是否能够在其中添加 detail/adjacent 列