Форма не передает данные POST в контроллер - PullRequest
0 голосов
/ 17 сентября 2018

Я передаю ссылку на файл и строковое значение cardid. По какой-то причине, когда я возвращаю результат, значение cardid равно нулю. Однако, когда я просматриваю страницу, заголовок <h3> содержит ожидаемую строку. Что я делаю неправильно?

Просмотр HTML

<h3>@Model.CV.Id</h3>

@using (Html.BeginForm("UploadFile", "Tickets", FormMethod.Post, new { cardid=@Model.CV.Id, enctype = "multipart/form-data"}))
{
    <input type="file" name="file" />
    <input type="submit" value="Upload Attachment" />
}

Контроллер

public async Task<IActionResult> UploadFile(string cardid,IFormFile file)
{
    ......
    string res="yay";
    return Ok(new {cardid=cardid,res=res });
}

1 Ответ

0 голосов
/ 17 сентября 2018

Вы должны включить cardid в форму.Вы просто создаете атрибут на <form>, который ничего не делает.

<h3>@Model.CV.Id</h3>

@using (Html.BeginForm("UploadFile", "Tickets", FormMethod.Post, new { enctype = "multipart/form-data"}))
{
    <input type="hidden" name="cardid" value="@(Model.CV.Id)" />
    <input type="file" name="file" />
    <input type="submit" value="Upload Attachment" />
}

Вы также можете включить `cardid в действие:

Html.BeginForm("UploadFile?cardid=" + Model.CV.Id, "Tickets", FormMethod.Post...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...