Member 7678194 Ответов: 0

Параметр Значение зрения не дисплей функции регулятора


Я создал JQuery Datatable для загрузки нескольких записей после загрузки страницы.
Во время редактирования строки после щелчка или нажатия клавиши на указанную строку указанные значения строк инициируются в новое представление редактирования через значение идентификатора параметра.

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

Значение id отображается в поле зрения в режиме отладки,но при вызове функции контроллера проходящее значение id не отображается в функции контроллера.
почему???? Я не знаю..

Может ли какое - либо тело помочь при вышеуказанных проблемах????
пожалуйста........

Что я уже пробовал:

Мой код cshtml находится ниже:
            $(document).ready(function () {
                $.noConflict();
                $.ajax({
                    url: 'Unit/GetUnit',
                    method: 'post',
                    dataType: 'json',
                    success: function (data) {
                        $('#datatable').DataTable({
                            select: {
                                //style: 'single'
                            },
                            keys: true,
                            data: data,
                            paging: false,
                            searching: false,
                            ordering: false,
                            
                            scrollY: 200,
                            columns: [
                                {
                                    data: 'UnitID',
                                    width: '10px'
                                },
                                {
                                    data: 'Name',
                                    width: '300px',
                                    //searchable: false,
                                    //orderable:false
                                },                                    },
                            ],
                            columnDefs: [
                                { className: 'dt-body-center', targets: [0] },//"UnitID"
                                { visible: false, targets: [0] },
                                { className: 'dt-body-left', targets: [1] }//"Name"
                            ]
                        });
                    }
                });
                KeyEventHandler();
            });

            function KeyEventHandler() {
                $('#datatable').on('key', function (e, datatable, key, cell, originalEvent) {
                    if (key == 13) {
                        var tbl = $('#datatable').DataTable();
                        var pID = tbl.row('tr').data()['UnitID'];

                        //window.location.href = "/Unit/Edit?UnitID =" + encodeURIComponent(pID) + "";
                        //window.location.href = "Create";
                        EditRow(pID);
                    }
                });
        }
        function EditRow(id) {
            if (confirm("Are You sure to edit this record..?")) {
                $.ajax({
                    type: 'POST',
                    url: '@Url.Action("Edit", "Unit")',
                    data: { id: id },
                    datatype: 'json',
                    success: function (response) {
                        // do something with response
                        alert("Successfully updated.");
                    },
                    error: function (msg) {
                        alert(msg.responseText);
                    }
                });
            }
        }

My controller code is below:
        public ActionResult Edit(Int16? uID = null)
        {
            string cs = ConfigurationManager.ConnectionStrings["MainCon"].ConnectionString;
            List<modUnit> mUnits = new List<modUnit>();
            using (SqlConnection con = new SqlConnection(cs))
            {
                SqlCommand cmd = new SqlCommand("Select * From acM_Unit Where UnitID =" + uID, con);
                cmd.CommandType = CommandType.Text;
                con.Open();
                SqlDataReader rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {
                    modUnit unit = new modUnit();
                    unit.UnitID = Convert.ToInt32(rdr["Unitid"]);
                    unit.Name = rdr["Name"].ToString();
                    mUnits.Add(unit);
                }
            }
            return View(mUnits);
        }

0 Ответов