筛选器无法正常工作-内部联接表时

伊丽莎白·富恩扎利达(Elizabeth Fuenzalida)

我有一个学生名单,其位置分数可以排序或过滤。我注意到(在视觉上)过滤分数时,分数不会随其各自的学生而动,而是静态的。

例-

过滤前:

Student A  |11
Student AA |10
Student B  |09
Student BB |08

经过“ B”级学生过滤后:

Student B  |11
Student BB |10

我假设是因为他们的错误或丢失的逻辑告诉代码学生人数已更改。但是我不确定我需要在代码中添加什么来解决此问题,并希望这里的人能够为我指明正确的方向。

剃刀代码:

@for (int i = 0; i < Model.Students.Count; i++)
                        {
                            <tr>
                                <td>@Model.Students[i].LastName</td>
                                <td>@Model.Students[i].FirstName</td>
                                <td>
                                    @* Ept score form group*@
                                    <div class="form-group">
                                        <input type="hidden" asp-for="@Model.Students[i].Sid" />
                                        <label asp-for="@Model.Students[i].Score.EptScore">Score</label>
                                        <input type="number" data-internalid="@i" asp-for="@Model.Students[i].Score.EptScore" class="form-control limited-width" aria-describedby="helpBlock1" />
                                        <span id="helpBlock1" asp-validation-for="@Model.Students[i].Score.EptScore" class="help-block"></span>
                                    </div>
                                </td>   
                            </tr>

逻辑代码:

IQueryable<Student> StudentsIQ = (from s in _context.Students
                                             where s.StuType == StudentType.New 
                                             && s.YearQuarterEnrolled == quar.Id 
                                             orderby s.LastName, s.FirstName      //default ordering
                                             select s).Include(st => st.Score);

            // Based on input search filters, filter student data
            if (!String.IsNullOrEmpty(LnameSearch))
            {
                StudentsIQ = StudentsIQ.Where(s => s.LastName.ToLower().StartsWith(LnameSearch.ToLower()));
                queryParams.Add("LnameSearch", LnameSearch);
            }
            if (!String.IsNullOrEmpty(SidSearch))
            {
                StudentsIQ = StudentsIQ.Where(s => s.Sid.StartsWith(SidSearch));
                queryParams.Add("SidSearch", SidSearch);
            }
            if (!String.IsNullOrEmpty(FnameSearch))
            {
                StudentsIQ = StudentsIQ.Where(s => s.FirstName.ToLower().StartsWith(FnameSearch.ToLower()));
                queryParams.Add("FnameSearch", FnameSearch);
            }
    ...
有毒菠萝

您的模型状态是陈旧的,因此您将需要ModelState.Clear()在异步调用数据库之前使用它来清除它

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章