c# - 在MVC5中从BLL层调用函数到控制器
问题描述
公共课 StudentBLL {
StudentDAL objStudent = new StudentDAL();
public List<StudentDAL> GetAllStudnets() {
List<StudentDAL > lstStudents = objStudent.GetStudentList().Tables[0].AsEnumerable().Select(
dataRow => new StudentDAL
{
StuID = dataRow.Field<int>("StudentId"),
StuName = dataRow.Field<int>("StudentName")
}).ToList();
return lstStudents;
}
}
我想在我的家庭控制器中调用这个函数:
public JsonResult LoadStudents(int randomJunk)
{
//call function here ??
List<SelectListItem> selectListItems = new List<SelectListItem>();
//selectListItems.Add(si);
// selectListItems.Add(si1);
var notesTypes = new SelectList(selectListItems, "Value", "Text");
return Json(notesTypes, JsonRequestBehavior.AllowGet);
}
那怎么能把return list调用到我的Home Controller,我真的很迷茫,我又不是学生
解决方案
创建一个 StudentBLL 类的对象,并GetAllStudnets
用这个对象调用方法
StudentBLL obj = new StudentBLL ();
List<StudentDAL> ls = obj.GetAllStudnets();
最佳实践是使用所需方法创建接口。创建一个实现该方法的类。使用依赖注入在控制器中注入类来调用方法。
推荐阅读
- android - 支持使用 kotlin2js 将 Android Studio 应用程序中的 Kotlin 文件转换为 Javascript 所需的最小 Gradle 设置是什么?
- java - 为矩阵乘积的每个值创建一个线程比仅使用 1 个线程慢是否正常?
- android - 无法设置 cwd() (errno 2: 没有这样的文件或目录)
- asp.net-mvc-4 - 部分视图未在子域中发送模型
- php - 带有 int 值的 PHP 回显
- react-native - 无法在 App 中设置 firestore().settings({ timestampsInSnapshots: true })
- excel - Excel - 查找所有相同的单元格,在行中对单独的单元格求和以进行匹配,在其他工作表中输出
- php - mysql中的id分区和按日期排名
- python - tkinter - 致命 Python 错误:PyEval_RestoreThread:NULL tstate
- karate - Karate.print 不打印实际内容