Member 14317227 Ответов: 2

Передача данных на другую страницу в ASP.NET MVC


У меня есть 3 модели dailyTransaction , Contract и ContractMonth .

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

Что я уже пробовал:

This is my Contract Month Controller:
<pre>
     public ActionResult Index(int id)
        {
            var contractMonth = _context.ContractMonth.Where(c => c.ContractsId == id).Include(s => s.contracts).Include(d => d.dailyTransactions).ToList();

            return View(contractMonth);
        }


Вот такой вид :

<table class="table table-bordered f" cellspacing="0" id="employeetable">
    <thead>
        <tr>
            <th>@Html.DisplayNameFor(model => model.ContractsId)</th>

            <th>@Html.DisplayNameFor(model => model.Monthe)</th>
            <th>@Html.DisplayNameFor(model => model.Amount)</th>
            <th>@Html.DisplayNameFor(model => model.Receipt)</th>

        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.contracts.Contract_Num)
                </td>

                <td>
                    @Html.DisplayFor(modelItem => item.dailyTransactions.Date)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.contracts.AmountOfRent)
                </td>


            </tr>
        }

    </tbody>
</table>

F-ES Sitecore

У нас нет доступа к вашим данным или к тому, что вы делаете, поэтому вам нужно будет выполнить некоторую отладку. Поместите точку останова в свой индексный метод, и первое, что нужно проверить, - это то, что "id" имеет ожидаемое значение. Если это не так, то проблема заключается в том, что создает ссылку на этот метод контроллера. Если он действительно имеет значение, но contractMonth, то вам нужно просмотреть свои данные и соединения таблиц, чтобы увидеть, есть ли там что-то, что вы упускаете. Если у contractMonth действительно есть данные, то пройдите через код в вашем представлении, чтобы попытаться увидеть, что происходит не так.

Member 14317227

Спасибо , о постараюсь это сделать

2 Ответов

Рейтинг:
1

Maciej Los

Если я вас правильно понял, вы хотите передать некоторые данные между контроллерами... Обратите внимание, что ваш код отвечает за получение связанных данных от сущностей (Загрузка связанных сущностей - EF6 | Microsoft Docs[^]) вместо использования временных данных (Что такое ASP.NET MVC TempData[^]).

Я бы настоятельно рекомендовал прочитать это: Учебник для начинающих по различным способам передачи данных в ASP.NET приложение MVC[^]


Member 14317227

Хорошо спасибо

Maciej Los

Всегда пожалуйста.

Рейтинг:
1

Christian Graus

Я бы предположил, что для этого удостоверения личности нет никаких данных. Попробуйте жесткое кодирование со значением, которое, как вы знаете, содержит данные, и посмотрите, что произойдет.


Member 14317227

Нет там каких-то данных , о не понимаю, что вы имеете в виду