Как исправить: Невозможно выполнить привязку во время выполнения для пустой ссылки - PullRequest
2 голосов
/ 17 июня 2019

Я пытаюсь соединить две таблицы, но получаю Невозможно выполнить привязку во время выполнения для пустой ссылки. Как я могу решить эту проблему.

код: - Контроллер:

     public ActionResult Index()
      {
        string query = "SELECT* FROM Student AS A INNER JOIN Demo AS B ON A.S_ID = B.S_ID ";
        List<Result> result = new List<Result>();
        using (SqlConnection connection = new SqlConnection(connectionstring))
        using (SqlCommand command = new SqlCommand(query, connection))
        {
            command.Connection = connection;
            connection.Open();
            using (SqlDataReader sdr = command.ExecuteReader())
            {
                while (sdr.Read())
                {
                    result.Add(new Result
                    {
                        S_Name = sdr["S_Name"].ToString(),
                        S_LName = sdr["S_LName"].ToString(),
                        Status = sdr["Status"].ToString()
                });
                }
            }
            connection.Close();

        }

        return View();
    }

Индекс:

        <table class="table table-condensed table-hover">
    <thead>
        <tr>
            <td>S_Name</td>
            <td>S_LName</td>
            <td>Status</td>
          </tr>
    </thead>
    <tbody>
        @foreach (var per in Model.Result)
        {
            <tr>
                <td>@per.S_Name</td>
                <td>@per.S_LName</td>
                <td>@per.Status</td>
              </tr>
        }
    </tbody>
</table>

Модель результата представляет собой модель соединения двух таблиц, и как можно изменить этот код выше

1 Ответ

1 голос
/ 17 июня 2019

Вы забыли вернуть список к просмотру
Это решение должно работать

 public ActionResult Index()
          {
            string query = "SELECT* FROM Student AS A INNER JOIN Demo AS B ON A.S_ID = B.S_ID ";
            List<Result> result = new List<Result>();
            using (SqlConnection connection = new SqlConnection(connectionstring))
            using (SqlCommand command = new SqlCommand(query, connection))
            {
                command.Connection = connection;
                connection.Open();
                using (SqlDataReader sdr = command.ExecuteReader())
                {
                    while (sdr.Read())
                    {
                        result.Add(new Result
                        {
                            S_Name = sdr["S_Name"].ToString(),
                            S_LName = sdr["S_LName"].ToString(),
                            Status = sdr["Status"].ToString()
                    });
                    }
                }
                connection.Close();

            }

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