BootStrap Datatable отправляет нулевую модель на контроллер - PullRequest
0 голосов
/ 07 декабря 2018

Я добавляю данные в частичное представление с помощью API BootStrap DataTable,

$(function () {
var table=  $('#showExtract').DataTable();
table.row.add($(
'<tr>' +
'<td>  @Html.DisplayFor(x=> x.ExtractName)  @Html.HiddenFor(x=> x.ExtractName) ' +
'</td>' +
'<td>' +
' <div class="form-group col-lg-12">' +
      '<div class="col-lg-12"> @Html.TextBoxFor(x=> x.secondName, new { @class = "input-sm col-lg-12" }) ' +


     ' </div>' +
  '</div>' +
'</td>' +
'<td> @Html.CheckBoxFor(showExtract => showExtract.IsChecked)' +
'</td>' +
'</tr>'
  )).draw(false);

Теперь мое представление заполняется просто нормально и без ошибок. Проблема в том, что когда я отправляю этот объект данных на свой контроллер, он всегда равен нулюМое действие контроллера выглядит как

        public ActionResult showExtract(IEnumerable<showExtractFile> model)
    {
       /// var selectedItems = model.Where(x => x.IsChecked);
        //var format = string.Join(",", selectedItems.Select(x => x.ExtractName));
        return Content("Thank you for selecting " + "format");
    }

в этой модели действия всегда равно нулю. Мои данные публикации представления выглядят следующим образом

@using (Html.BeginForm("showExtract", "userSupport", FormMethod.Post))
 {
  <div class="col-xs-12">
    <div class="box">
        <div class="box-header">
               <h3 class="box-title">Hover Data Table</h3>
        </div>
        <!-- /.box-header -->
        <div class="box-body">
            <div class="form-group">
                <table id="showExtract" class="table table-bordered table-hover">
                    <thead>
                        <tr>
                            <th>Extract Name</th>
                            <th>Update Name</th>
                            <th>Select</th>
                        </tr>
                    </thead>
                    @Html.EditorForModel()
                </table>
            </div>
            <div class="form-group">
                <button type="submit" class="btn btn-primary btn-md">
                    <i class="fa fa-gears"></i>Process
                </button>
            </div>
        </div>
    </div>
</div>

 }

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

    public class showExtractFile
{
    public string ExtractName { get; set; }
    public string SecondName{ get; set; }
    public bool IsChecked { get; set; }
}

Я проверил имя элементов управления после заполнения, и я сомневаюсь, что это соглашение об именах, которое вызывает проблемы

<input class="input-sm col-lg-12 ui-autocomplete-input" name="[23].SecondName" type="text" value="A. Q. &amp; COMPANY INTERNATIONAL" autocomplete="off">

После проверки отправленного запроса я могу получить следующие результаты

showExtract_length: 10
[23].ExtractName: A.Q. & COMPANY INTERNATIONAL
[23].SecondName: A. Q. & COMPANY INTERNATIONAL
[23].IsChecked: false
[59].ExtractName: AA FOODS IMPORTERS AND DISTRIBUTORS
[59].SecondName: 
[59].IsChecked: false
[50].ExtractName: ADIL STEEL FURNACE
[50].SecondName: ADIL STEEL FURNACE
[50].IsChecked: true
[50].IsChecked: false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...