. NET Core 3.1: передача идентификатора файла и идентификатора сущности из представления в контроллер - PullRequest
0 голосов
/ 05 февраля 2020

В моем индексном представлении у меня есть таблица с несколькими строками, и для каждой строки я предоставил форму отправки файла для прикрепления images / pdf.

table class="table table-striped table-sm" cellspacing="0" width="100%" id="myTable">

    <thead>

        <tr>
            <th><button class="border-0 btn-light" onclick="sortTable(0)">@Html.DisplayNameFor(model => model.ExpenseName)</button></th>

            <th><button class="border-0 btn-block btn-light" onclick="sortTable(1)">@Html.DisplayNameFor(model => model.ExpenseAmount)</button></th>

            <!--<th>@*@Html.DisplayNameFor(model => model.ExpenseDate)*@</th>-->

            <th class="border-0 btn-light text-black-50">&emsp;&emsp;&emsp;Action Items</th>

        </tr>

    </thead>

    <tbody>

        @foreach (var exp in Model)

        {

            string s1 = "SCCRowBgFront";
            if (exp.ManagerApproved == true)
            {
                s1 = "SCCRowBg";
            }


            <tr class=@s1>

                <td>@Html.DisplayFor(modelExpense => exp.ExpenseName)</td>

                <td class="text-center">@Html.DisplayFor(modelExpense => exp.ExpenseAmount)</td>   

                <!--<td>@*@Html.DisplayFor(modelItem => item.ExpenseDate)*@</td>-->    

            <td>

                @{
                    string Disabled = "";
                    if (exp.ManagerApproved == true)
                    {
                        Disabled = "disabled";
                    }
                }

                <button class="btn btn-default btlLocked" onclick="UpdateExpense(@exp.ExpenseId)" @Disabled>Edit</button>

                <button class="btn btn-danger" onclick="DeleteExpense(@exp.ExpenseId)" @Disabled>Delete</button>

                <button class="btn btn-info" onclick="CopyExpense(@exp.ExpenseId)">Copy</button>

                @using (Html.BeginForm("UploadAttachment", "Expense", FormMethod.Post, new { @enctype = "multipart/form-data" }))
                {
                    @*<span></span>@Html.TextBoxFor(modelExpense => exp.ExpenseId)<br />*@
                    <span>EnterExpenseId:</span>@Html.TextBoxFor(modelExpense => exp.ExpenseId)<br />
                    <input type="file" name="file" />
                    <input type="submit" value="Attach" />
                }
            </td>
         </tr>

        }

    </tbody>

</table>

Однако в моем контроллере:

public IActionResult UploadAttachment(Expense modelExpense, IFormFile file)

Я хочу получить информацию о модели расходов вместе с IFormFile. Но только IFormFile проходит, когда я проверяю через отладку. Обратите внимание, что эта информация доступна, когда я проверяю вид .. Пожалуйста, обратитесь к приложенному изображению .. Model information is fetched appropriately, and I need to send this Expense Id back to the controller as Model or Int/String

Может кто-нибудь, пожалуйста, помогите мне ..

...