IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web avec .NET Discussion :

Envoie des données d'une table (html) vers le controller (MVC)


Sujet :

Développement Web avec .NET

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 251
    Par défaut Envoie des données d'une table (html) vers le controller (MVC)
    Bonjour,
    Je suis débutant en ASP.NET. Je travaille sur un projet qui récupère des données d'un webservice REST et les affiche dans une table et par click sur un bouton, les données de la tables doivent être enregistrées dans une base de données
    Le problème auquel je suis confronté c'est l'enregistrement dans la base de données.
    J'ai créé deux classes Model : une qui a le détail des données et une autre qui est une liste qui accueille les données. C'est cette liste qui contient les données envoyées au controller par AJAX.

    Classe model Détail vente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class DetailVenteModel
    {
        [Required]
        [Display(Name = "Symbole")]
        public string? Symbole{ get; set; }
     
        [Display(Name = "Prix Vente")]
        public float PrixDeVente{ get; set; }
     
        [Display(Name = "Prix d'achat")]
        public int PrixAchat{ get; set; }
    }
    }

    Classe model liste vente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     public class ListVente
     {
        public int Id { get; set; }
        List<EquitiesDetailModel> ListOfEquities { get; set; }
    }
    Controler

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     [HttpPost]
     public ActionResult InsertVente(IEnumerable<DetailVenteModel> ListeDetailVenteModels)
     {
     
         foreach (var item in equitiesDetailViewModels) {
     
             DetailVenteModel vente = new DetailVenteModel();
     
             vente.Symbole = item.Symbole;
             vente.PrixDeVente= item.PrixDeVente;
             vente.PrixAchat= item.PrixDeVente;
     
     
             _context.Add(item);
             await _context.SaveChangesAsync();
         }
     
         return Json(new { success = true });
     }
    Page ASP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    <script type="text/javascript">
        $(document).ready(function () {
           $("input[type=button]").click(function () {
     
                var ListeDetailVenteModels = new Array();
     
                $("#listeTransactions").find("tr:gt(0)").each(function () {
     
                    var symbole = $(this).find("td:eq(0)").text();
                    var prixDeVente= $(this).find("td:eq(1)").text();
                    var prixAchat= $(this).find("td:eq(2)").text();
     
     
                    var DetailVenteModel = {};
     
                    DetailVenteModel.symbol = symbole ;
                    DetailVenteModel.BestBidPrice = prixDeVente;
                    DetailVenteModel.BestBidVolume = prixAchat;
     
     
                    ListeDetailVenteModels .push(DetailVenteModel);
                });
     
                $.ajax({
                    async: true,
                    type: 'POST',
                    dataType: "JSON",
                    contentType: 'application/json; charset=utf-8',
                    url: '@Url.Action("InsertVente", "Vente")',
                    data: JSON.stringify(ListeDetailVenteModels ),
                    success: function (data) {
                         //console.log();
                        alert('Données enregistrées avec succès !');
                    },
                    error: function (xhr, status, error) {
                        console.log('Erreur lors de l\'enregistrement des données : ' + error);
                    }
                });
            });
     
        });
    </script>
     
     <div><input type="button" id="envoyer" value="Enregistrer dans la base de données" class="btn btn-primary"></div><br />
    <div>
       <table class="table table-bordered" id="listeTransactions">
            <thead>
                <tr class="table-success">
                    <th>Symbole</th>
                    <th>Meilleure vente</th>
                    <th>Meilleur prix achat</th>
                </tr>
            </thead>
            <tbody>
                 @foreach (DataRow row in Model.Rows)
                {
                    <tr>
                        <td id="symbol">@row["Symbole"]</td>
                        <td id="BestBidPrice">@row["PrixDeVente"]</td>
                        <td id="BestBidVolume">@row["PrixAchat"]</td>
     
                    </tr>
                }
            </tbody>
     
        </table>
    </div>

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 251
    Par défaut
    Bonjour,
    J'ai fini par trouver la solution à mon niveau.
    Il y a avait une incompatibilité de type entre mon modèle et ma table dans sqlserver.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Enregistrer Date et Heure des donnés d'une table vers une autre
    Par piwa6291 dans le forum Access
    Réponses: 8
    Dernier message: 20/03/2015, 14h41
  2. Comment "copier" des enregistrements d'une table A vers une table B ?
    Par SafidyVaovao dans le forum Bases de données
    Réponses: 14
    Dernier message: 09/03/2015, 16h40
  3. [AC-2010] Importer des données d'une table Foxpro vers Access
    Par bene85 dans le forum Access
    Réponses: 1
    Dernier message: 29/09/2014, 21h40
  4. [Python 2.X] extraire des informations depuis une table html
    Par overider dans le forum Général Python
    Réponses: 0
    Dernier message: 03/07/2014, 14h03
  5. Réponses: 2
    Dernier message: 16/01/2010, 16h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo