Невозможно передать данные для просмотра; Ошибка: не содержит определения для (Поле каждого столбца в модели) - PullRequest
0 голосов
/ 15 июня 2019

Я пытаюсь получить представление, которое показывает все рабочие задания в штате Нью-Джерси.Это моя модель заказа на работу:

 public class WorkOrder
 { 
    public int UserId { get; set; }
    public string LocationId { get; set; }
    public string Reason { get; set; }
    public bool IsActive { get; set; } = true;
    public DateTime Date { get; set; } = DateTime.Now;
    public string StateId { get; set; } 
   }

В моем виде, где я пытаюсь передать данные, которые у меня есть:

@model IEnumerable<WorkOrder>
@{
     ViewData["Title"] = "Work Orders";
 }
 <div class="by-location">
    <h1>By Location</h1>
   <ul>
       <li> @Html.ActionLink("Delaware", "Delaware", 
        "HomeController")</li>
       <li>
        @Html.ActionLink("New Jersey", "New Jersey", 
        "HomeController")
       </li>
       <li>
         @Html.ActionLink("Pennsylvania", "Pennsylvania", 
        "HomeController")
    </li>
  </ul>
</div>
<div class="container">
 <table class="table">
    <tr>
      <th>
        @Html.DisplayNameFor(model => model.UserId)
      </th>
      <th>
        @Html.DisplayNameFor(model => model.LocationId)
      </th>
      <th>
        @Html.DisplayNameFor(model => model.Reason)
      </th>
      <th>
        @Html.DisplayNameFor(model => model.IsActive)
      </th>
      <th>
        @Html.DisplayNameFor(model => model.Date)
      </th>
    </tr>
 @foreach (var item in Model)
 {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.UserId)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.LocationId)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Reason)
        </td>
        <td>

            @Html.DisplayFor(modelItem => item.IsActive)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Date)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.StateId)
        </td>
     </tr>
    }
    </table>
  </div>

Я только пытаюсь отобразить данные, где местоположениеравно «NJ», поэтому у меня в контроллере есть метод, который я вызываю в контроллере, который должен возвращать рабочие задания вида «Нью-Джерси», но у всех есть логика для получения рабочих заказов, где состояние = что-то.

   public IActionResult Nj(string stateId)
   {
       var njWorkOrders = GetWorkOrders()
          .Where(x => x.StateId == stateId).ToList(); 
       return View(njWorkOrders); 
   }

Вот моя функция GetWorkOrders:

  public List<WorkOrder> GetWorkOrders()
  {
      List<WorkOrder> workOrders = new List<WorkOrder>();
      workOrders.Add(new WorkOrder
      {
          UserId = 1,
          LocationId ="Philadelphia",
          Date = DateTime.Now,
          Reason = "Lights",
          IsActive = true,
          StateId = "PA"
      });

      workOrders.Add(new WorkOrder
      {
          UserId = 2,
          LocationId = "Camden",
          Date = DateTime.MinValue,
          Reason = "Plumbing",
          IsActive = true,
           StateId = "NJ"
      });
      workOrders.Add(new WorkOrder
      {
          UserId = 3,
          LocationId = "Burlington",
          Date = DateTime.Now,
          Reason = "Water",
          IsActive = false,
          StateId = "NJ"
      });

      workOrders.Add(new WorkOrder
      {
          UserId = 4,
          LocationId ="Wilmington",
          Date = DateTime.MaxValue,
          Reason = "Lights",
          IsActive = true,
          StateId = "DE"
      });

      // return the work orders to be used by your view methods
     return workOrders;
  }

1 Ответ

0 голосов
/ 16 июня 2019

Мало вещей:

  • Невозможно вернуть IActionResult.Вы должны вернуть ActionResult .

  • Поскольку ваше действие контроллера ожидает аргумент, вы должны передать stateId в строке запроса, как показано ниже

http://localhost:52023/Home/Nj?stateId=NJ

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