Как отправить значения формы массива / списка без правильной индексации? - PullRequest
0 голосов
/ 05 октября 2018

Давайте предположим, что у нас есть модель и представление, как это:

public class Test
{
    public List<string> data { get; set; }
}

<form asp-action="View">
    <div asp-validation-summary="ModelOnly" class="text-danger"></div>

    <input name="data[0]" value="dsa" />
    <input name="data[1]" value="asd" />

    <div class="form-group">
        <input type="submit" value="Create" class="btn btn-default" />
    </div>
</form>

[HttpPost]
public IActionResult View(Test input)
{
    return View();
}

Я отправляю эту форму в метод контроллера, и он видит эти элементыданных правильно.

Но если я изменю индексирование на:

<input name="data[0]" value="dsa" />
<input name="data[2]" value="asd" />

, то это не сработает.Я знаю, что в этом есть смысл, но есть ли возможность отключить проверку индекса и просто вставить все эти значения в список / массив с правильной индексацией?

Итак, во 2-м случае data[0] будет data[0], но data[1] будет data[2].

Просто для каждого «пробела» в индексации переместите Next objs, чтобы заполнить этот пробел.

1 Ответ

0 голосов
/ 05 октября 2018

Вы можете использовать только:

<input name="data[]" value="dsa" />
<input name="data[]" value="asd" />

Если вы вообще указали индекс, он должен быть в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...