Html.BeginForm отправляет нулевые объекты в контроллер с помощью Html.HiddenFor - PullRequest
0 голосов
/ 05 октября 2019

Это мой код

@model MyModel


@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { @enctype = "multipart/form-data" }))
{
    Html.HiddenFor(x => x.ID);

    <label>Name: </label>@Html.EditorFor(x => x.Name);

    <button>Submit</button>
}

по какой-то причине в моем контроллере я получаю MyModel со значениями Name = new name, но ID = null

Почему это происходит?

1 Ответ

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

Проверка моего кода одной строкой является проблемой, но не дает ошибки:

@model MyModel


@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { @enctype = "multipart/form-data" }))
{
    Html.HiddenFor(x => x.ID); // This one

    <label>Name: </label>@Html.EditorFor(x => x.Name);

    <button>Submit</button>
}

Решение простое, если вы знаете, в чем может быть проблема, но если вы этого не сделаете, вы не решите его, так как оно не 'Ошибка сброса t.

Решение добавляло @ до Html.HiddenFor(x => x.ID);.

@model MyModel


@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { @enctype = "multipart/form-data" }))
{
    @Html.HiddenFor(x => x.ID); // Changed this one

    <label>Name: </label>@Html.EditorFor(x => x.Name);

    <button>Submit</button>
}

Надеюсь, это поможет кому-то сэкономить время и боль.

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