@using TechHelper.Client.Services @inject IStudentSubmissionService StudentSubmissionService @if (_isLoading) {
} else if (_studentSubmissions == null || _studentSubmissions.Count == 0) {
暂无提交记录
} else { @foreach (var submission in _studentSubmissions) { } }
@code { // 学生提交数据模型 public class StudentSubmission { public string StudentName { get; set; } public int TotalProblems { get; set; } public int ErrorCount { get; set; } public DateTime CreatedDate { get; set; } public float Score { get; set; } public string AssignmentName { get; set; } public string Status { get; set; } public TimeSpan TimeSpent { get; set; } } // 学生提交列表 private List _studentSubmissions = new(); private bool _isLoading = true; protected override async Task OnInitializedAsync() { await LoadStudentSubmissions(); } private async Task LoadStudentSubmissions() { try { _isLoading = true; StateHasChanged(); var result = await StudentSubmissionService.GetMySubmissionsAsync(); if (result.Status && result.Result != null) { // 从服务器获取的数据映射到我们的模型 var submissions = result.Result as List; if (submissions != null) { _studentSubmissions = submissions.Select(submission => new StudentSubmission { AssignmentName = submission.AssignmentName, CreatedDate = submission.CreatedDate, ErrorCount = submission.ErrorCount, Score = submission.Score, StudentName = submission.StudentName, Status = submission.Status, TotalProblems = submission.TotalQuestions, TimeSpent = TimeSpan.FromMinutes(30) // 默认值,实际应用中可以从服务器获取 }).ToList(); } } else { // 如果API调用失败,使用空列表 _studentSubmissions = new List(); } } catch (Exception ex) { // 处理异常,可以记录日志 _studentSubmissions = new List(); } finally { _isLoading = false; StateHasChanged(); } } }