как вернуть json данные с mvc контроллера и просмотреть - PullRequest
1 голос
/ 13 января 2020

Я новичок в mvc, поэтому вот моя проблема. Я создал jquery -datatble со ссылкой действия с именем "detalles". Когда пользователь нажимает на него, чтобы увидеть детали элемента, выбранного в jquery -данных. Как только пользователь нажал на нее. Он открывает новую вкладку, которая имеет форму с полями, а также другую jquery -datatble. По сути, моя идея состоит в том, чтобы в контроллере было только одно возвращение, которое возвращает представление, и th json.

Вот мой результат действия для i "detalles"

public ActionResult Detalles(int? id)
{
    proveedorContext proveedorContext = new proveedorContext();

    if (id == null)
    {

    }
    proveedorModel proveedor = proveedorContext.GetAllProveedor().Find(obj => obj.proveedor_id == id);
     //When i am here my model is not empty 
    loadProveedorContactoTable(proveedor);
    if (proveedor == null)
    {

    }
    return View(proveedor);
}

Но, к сожалению, после слов моя программа снова вызывает «loadProveedorContactoTable», а затем моя модель становится полностью нулевой ()

  public List<proveedorModel> GetAllProveedor()
        {
            List<proveedorModel> list = new List<proveedorModel>();

            using (MySqlConnection conn = GetConnection())
            {
                conn.Open();
                MySqlCommand cmd = new MySqlCommand("SELECT * FROM erp_proveedores",conn);


                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        list.Add(new proveedorModel()
                        {
                            proveedor_id = int.Parse(reader.GetString(reader.GetOrdinal("proveedor_id"))),
                            nombre = reader.GetString(reader.GetOrdinal("nombre")),
                            direccion = reader.GetString(reader.GetOrdinal("direccion")),
                            codigo_postal = reader.GetString(reader.GetOrdinal("codigo_postal")),
                            cuidad = reader.GetString(reader.GetOrdinal("cuidad")),
                            pais = reader.GetString(reader.GetOrdinal("pais")),
                            pagina_internet = reader.GetString(reader.GetOrdinal("pagina_internet")),
                            eliminado = int.Parse(reader.GetString(reader.GetOrdinal("eliminado"))),
                            contactos = new proveedorContactoContext().GetAllProveedorContactos(int.Parse(reader.GetString(reader.GetOrdinal("proveedor_id"))))
                        });
                    }
                }

                return list;
            }
        }     

Что я могу сделать, чтобы решить эту проблему, спасибо за вашу помощь. Я думаю о том, чтобы сделать одно возвращение, которое вернуло бы json, и представление о том, как я мог так поступить

...