c# - SelectListItem 为空,如果方法内的语句显示它被填充
问题描述
错误信息: http: //prntscr.com/qtlodf
方法:
public IActionResult GroepsResultaten(int vakId, int groepId)
{
var studentenLijst = _context.Student.Join(_context.StudentGroep,
s => s.Id,
sg => sg.StudentId,
(s, sg) => new { Student = s, StudentGroep = sg })
.Where(x => x.StudentGroep.GroepId == groepId)
.Select(x => x.Student);
ViewBag.Studenten = new SelectList(studentenLijst, "Id", "Naam");
return View();
}
我也试过这个:
public IActionResult GroepsResultaten(int vakId, int groepId)
{
var studentInfo = _context.Student
.Select(s =>
new
{
s.Id,
Naam = string.IsNullOrEmpty(s.Tussenvoegsel)
? s.Voornaam + " " + s.Achternaam + " - " + s.Studentnummer
: s.Voornaam + " " + s.Tussenvoegsel + " " + s.Achternaam + " - " + s.Studentnummer,
forStudent = s.Studentnummer + "-" + s.Achternaam
});
ViewBag.Studenten = new SelectList(studentInfo, "Id", "Naam");
return View();
}
我对此有点困惑。我想为 x 组的所有学生返回多个输入字段(我现在只是在使用 selectlist 进行测试),从那里我希望能够使用 get 方法为视图中包含的主题对学生进行评分。因为英语不是我的第一语言,所以我附上了两张截图来阐明我的意思。
澄清我想要实现的目标:
组视图:http :
//prntscr.com/qtlrqd 方法视图的线框:http: //prntscr.com/qtlswn
楷模:
public class Student
{
public int Id { get; set; }
[Required]
public string Voornaam { get; set; }
[Required]
public string Achternaam { get; set; }
public string Tussenvoegsel { get; set; }
public string Studentnummer { get; set; }
public List<Resultaat> Resultaten { get; set; }
public List<StudentGroep> Groepen { get; set; }
}
public class Groep
{
public int Id { get; set; }
[Required]
public string Naam { get; set; }
[Required]
public string Groepscode { get; set; }
public List<GroepVak> Vakken { get; set; }
public List<StudentGroep> Studenten { get; set; }
}
public class StudentGroep
{
public Student Student { get; set; }
public int StudentId { get; set; }
public Groep Groep { get; set; }
public int GroepId { get; set; }
}
我希望我已经包含了足够的信息,如果这样更容易的话,我也可以在 discord 上找到。
解决方案
问题是SelectList类返回什么。因为视图侧结果ViewBag.Studenten为空。
此外,您必须确保数据库查询返回一个值。
推荐阅读
- sql - Django ORM 二进制精确
- google-chrome - 如何从 Chrome 访问 github.com/lucas-clemente/quic-go 服务器?
- jwt - 我有模数和指数如何使用 JavaScript 为某些有效负载生成 JWE
- c# - 如何在值对象中删除值对象 [DDD]
- javascript - VueJS:未捕获的类型错误:vue__WEBPACK_IMPORTED_MODULE_4__.default 不是构造函数
- python - 将顺序数据从 .txt 文件转换为数据框
- java - Gradle:是否可以在 gradle 插件中定义 CustomTask 并从 build.gradle 中扩展该类?
- machine-learning - NLP 用于结构化数据和映射值
- vue.js - 如何使用 v-data-table 保留表格内容和排序
- c++ - 通过订购 std::mutex 避免死锁