Как связать возвращенные данные с Telerik ASP. Net Базовая сетка после отправки формы с полученными данными - PullRequest
0 голосов
/ 24 марта 2020

Я создаю веб-приложение, используя ASP. Net Core MVC 3.1 С EF 3.1. Я добавляю веб-страницу для обновления телефонных номеров учащихся в пакетном режиме (по классам), используя ASP. Net Core Telerik Grid. В верхней части страницы есть небольшая форма, в которой есть кнопки, позволяющие выбрать оценку, которую вы хотите обновить. Номера телефонов учащихся. Мне нужно показать соответствующие данные об учениках в ASP. Net Core Telerik Grid под элементом управления формы после нажатия на кнопку «Оценка». После нажатия кнопки «Оценка» он выбирает и возвращает соответствующие данные, но в сетке эти данные не отображаются.

Итак, мой вопрос: как мне исправить мою кодировку, чтобы просмотреть возвращенные данные?

Моя кодировка выглядит следующим образом

Index.cs html

@model School_MGT.Models.Students

<div class="container">
    <div class="container">
        <form asp-controller="AttendenceStudents" asp-action="Index">
            <p align="center">
                <input type="submit" name="btn" value="1A" />
                <input type="submit" value="1B" name="btn" />
            </p>
        </form>
    </div>
</div>
@(Html.Kendo().Grid<School_MGT.Models.Students>()
    .Name("Grid")
    .Columns(columns =>
        {
            columns.Bound(p => p.Add_No);
        columns.Bound(p => p.S_Name).Width(140);
        columns.Bound(p => p.Tel_H).Width(140);

    })
    .ToolBar(toolbar =>
        {
        toolbar.Create();
        toolbar.Save();
        })
    .Editable(editable => editable.Mode(GridEditMode.InCell))
    .Pageable()
    .Navigatable()
    .Sortable()
    .Scrollable()
    .Resizable(resize => resize.Columns(true))
    .DataSource(dataSource => dataSource
        .Ajax()
        .Batch(true)
        .PageSize(20)
        .ServerOperation(false)        
        .Model(model => model.Id(p => p.Add_No))
        .Update("Update", "AttendenceStudents")
    )
)

AttendenceStudentsController

namespace School_MGT.Controllers
{
    public class AttendenceStudentsController : Controller
    {
        private readonly ConnectionString _context;

        public AttendenceStudentsController(ConnectionString context)
        {
            _context = context;
        }
        public IActionResult Index()
        {
            return View();
        }
        [HttpPost]
        public  IActionResult Index(string btn)
        {
            var Students = from m in _context.Students select m;
            switch (btn)
            {
                case "1A":
                    Students = Students.Where(x => x.Grade == "1" && x.Class == "A");
                    return View();

                case "1B":
                Students = Students.Where(x => x.Grade == "1" && x.Class == "B");
                    return View();

                default:                   
                    return (View());
            }
        }

        [HttpPost]
        public IActionResult Update([Bind("RowID,Add_No,S_Name")] Students target)

        {
            Students entity = _context.Students.FirstOrDefault((r => r.Add_No == target.Add_No));            
            entity.Tel_H = target.Tel_H;           
            _context.SaveChanges();
            return View();
        }
    }
}

1 Ответ

0 голосов
/ 24 марта 2020

Спасибо всем, кто просмотрел мой вопрос и попробовал ответить. Я решил свою проблему, изменив метод Index и view.cs html

 public async Task<IActionResult> Index(string btn)
        {

            var Students = from m in _context.Students select m;

            switch (btn)
            {
                case "1A":
                    Students = Students.Where(x => x.Grade == "1" && x.Class == "A");
                    return View(await Students.ToListAsync());

                case "1B":
                Students = Students.Where(x => x.Grade == "1" && x.Class == "B");
                    return View(await Students.ToListAsync());

                default:

                    return (View(await Students.ToListAsync()));
            }          

        }

, применив следующие изменения к модели и сетке

@model IEnumerable<School_MGT.Models.Students>

@(Html.Kendo().Grid(Model)
...