Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC переход по кнопке/ссылке из ячейки таблицы View / 6 сообщений из 6, страница 1 из 1
09.02.2021, 11:40
    #40043573
raven_2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC переход по кнопке/ссылке из ячейки таблицы View
доброе время суток, коллеги!

есть страница, на котором отображается таблица с данными. последняя ячейка каждой строки - кнопка, нажатие на которую должно перенаправлять на другую страницу приложения

обработчик события
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    <script>
        function Report(args) {
            var grid = $("#FlatGrid1").ejGrid("instance");
            var index = this.element.closest("tr").index();
            var record = grid.getCurrentViewData()[index];
            var $Param = record.ID;

            $.ajax({
                url: '/LineMaster/SetEventTemp',
                type: 'POST',

                data: { ID: $Param }

            });
        }

    </script>



идентификатор записи в таблице определяется корректно
идет вызов процедуры в контроллере
но... значение переменной не передается

как мне передать параметр в контроллер?
заранее спасибо
...
Рейтинг: 0 / 0
09.02.2021, 11:44
    #40043574
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC переход по кнопке/ссылке из ячейки таблицы View
Если должно перенаправлять, то почему POST, а не GET и почему идентификатор не в URL, а в теле?

А если отвечать на конкретный вопрос, то как на него ответить, не видя контроллера?
...
Рейтинг: 0 / 0
09.02.2021, 11:51
    #40043577
raven_2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC переход по кнопке/ссылке из ячейки таблицы View
Shocker.Pro,
прошу прощения,
что значит
идентификатор не в URL, а в теле?
...
Рейтинг: 0 / 0
09.02.2021, 11:57
    #40043583
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC переход по кнопке/ссылке из ячейки таблицы View
raven_2008
что значит
идентификатор не в URL, а в теле?
ну ты идентификатор запихиваешь в тело запроса
почему бы не сделать GET '/LineMaster/SetEventTemp/12345'
?
...
Рейтинг: 0 / 0
09.02.2021, 12:12
    #40043594
raven_2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC переход по кнопке/ссылке из ячейки таблицы View
Shocker.Pro,

вот загрузка данных в таблицу

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
     <div class="panel-body">
                    @(Html.EJ().Button("refresh").Text("обновить").ClientSideEvents(d => d.Click("refresh")))
                    @{
                        @(Html.EJ().Grid<object>("FlatGrid1")
                                                                                                              .Datasource(ds => ds.Json(ViewData["Events"]))
                                                                                                              .AllowPaging()
                                                                                                              .AllowTextWrap()
                                                                                                              .AllowFiltering()
                                                                                                              .Locale("ru-RU")
                                                                                                              .AllowSorting()
                                                                                                              .FilterSettings(filter => { filter.FilterType(FilterType.Excel); })
                                                                                                              .Columns(col =>
                                                                                                              {
                                                                                                                  col.Field("Id").HeaderText("ID").IsPrimaryKey(true).Width(30).Priority(1).Add();
                                                                                                                  col.Field("RegistrationTime").HeaderText("Регистрация").Width(60).Format("{0:dd/MM/yyyy}").Add();
                                                                                                                  col.Field("AreaName").HeaderText("Участок").Width(100).Priority(2).Add();
                                                                                                                  col.Field("MasterName").HeaderText("Мастер").Width(140).Priority(3).Add();
                                                                                                                  col.Field("PersonStart").HeaderText("Зарегистр.").Width(60).Add();
                                                                                                                  col.Field("ShiftDayNight").HeaderText("Смена").Width(80).Add();
                                                                                                                  col.HeaderText("Отчет").Commands(command =>
                                                                                                                  {
                                                                                                                      command.Type("Report")
                                                                                                                          .ButtonOptions(new Syncfusion.JavaScript.Models.ButtonProperties()
                                                                                                                          {
                                                                                                                              Text = "Отчет",
                                                                                                                              Click = "Report"
                                                                                                                          }).Add();
                                                                                                                  }).Width(30).Add();
                                                                                                              }).ClientSideEvents(eve => eve.QueryCellInfo("querycellinfo"))
                        )
                    }
                </div>

@section Scripts {

    <script>
        $("form").validate();
    </script>


    <script>
        function Report(args) {
            var grid = $("#FlatGrid1").ejGrid("instance");
            var index = this.element.closest("tr").index();
            var record = grid.getCurrentViewData()[index];
            var $Param = record.ID;

            $.ajax({
                url: '/LineMaster/SetEventTemp',
                type: 'get',

                data: { ID: record.ID }

            });
        }

    </script>
}




по замыслу, клик на кнопке передает в обработчик события на контроллере идентификатор строки
идентификатор строки возвращается корректно а вот дальше...

пока обработчик простейший

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
        [HttpGet]
        [Authorize(Roles = "Admin,Master, Manager")]
        public ActionResult SetEventTemp(Int64 ID)
        {
            Int64 i = ID;

            return RedirectToAction("Schooling", "Quiz");
        }


мне нужен сам факт передачи идентификатора
но ID не возвращает
он стабильно равен 0.
либо в отладчике выдает сообщение: ошибка 500.
...
Рейтинг: 0 / 0
09.02.2021, 12:24
    #40043601
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC переход по кнопке/ссылке из ячейки таблицы View
Потому что контроллер у тебя ищет ID среди параметров запроса, нужно принудительно указать контроллеру, что ID ты передаешь в теле запроса, а не в параметрах
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC переход по кнопке/ссылке из ячейки таблицы View / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]