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

ASP.NET MVC Discussion :

Comment mettre a jour une des Entities contenant dans seul model


Sujet :

ASP.NET MVC

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Points : 88
    Points
    88
    Par défaut Comment mettre a jour une des Entities contenant dans seul model
    Bonjour

    J'ai plusieurs tables de données/Entities (ABRICOTS, BANANE, CITRON) dans le même model que j'ai crée et qui s'affiche dans une seule vue

    Ce que je veux faire :

    C'est modifier et mettre a jour une ligne de donnée d'une seule table des trois tables affichée sur la quelle j'ai clique sur "Modifier"

    Voila mon model :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class FruitsViewModel
    {
    	public List<Abricot> Abricots { get; set; }
    	public List<Banane> Bananes { get; set; }
    	public List<Citron> Citrons { get; set; }
    }
    }

    Voila mon controleur :
    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
    public class SaisieReferentielController : Controller
        {
    public ActionResult Index()
    {
    	var vm = new FruitsViewModel();
    	vm.Abricots = // Récupère les abricots depuis la base de données
    	vm.Bananes = // Récupère les bananes depuis la base de données
    	vm.Citrons = // Récupère les citrons depuis la base de données
     
    	return View(vm);
    }
    public ActionResult Edit()
    {
    	C'est modifier et mettre a jour d'une ligne de donnée d'une seule table des trois tables affichée sur laquelle j'ai clique sur "Modifier" 
     
    	return View();
    }
    }
    
    Merci

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2013
    Messages : 32
    Points : 20
    Points
    20
    Par défaut
    Pour modifier une des trois tables tu dois tout d'abord savoir quelle table, une astuce pour se faire, insère dans ton view un hiddenInput et donne une valeur qui correspond à chaque table, Edit doit être une Post Request

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Public ActionRelsut Edit(int Id, string type)
    {
        if(type == "Abricot"){// Récuperer l'objet de la table Abricot et faire les modifications et enregistrer}
     
        if(type == "Banane"){// Récuperer l'objet de la table Abricot et faire les modifications et enregistrer}
     
        if(type == "Citron"){// Récuperer l'objet de la table Abricot et faire les modifications et enregistrer}
    }
    Dans la view
    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
     
    // Pour Abricot
    @using(html.beginForm("Edit","Home"))
    {
        <input type="hidden" value="@model.id" name="id" />
     
        <input type="hidden" value="Abricot" name="type" />
    }
     
    // Pour Bananes
    @using(html.beginForm("Edit","Home"))
    {
        <input type="hidden" value="@model.id" name="id" />
     
        <input type="hidden" value="Bananes" name="type" />
    }
     
    // Pour Citrons
    @using(html.beginForm("Edit","Home"))
    {
        <input type="hidden" value="@model.id" name="id" />
     
        <input type="hidden" value="Citrons" name="type" />
    }

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Points : 88
    Points
    88
    Par défaut
    Bonjour Serizawa

    Merci de prendre de temps pour me répondre

    Pre

    Ce qui j'ai oublié de mentionner c'est que je n'affiche pas les deux tables en même temps...en effet j'ai une liste déroulante :

    Quand je sélectionne la valeur A j'affiche en bas de ma liste déroulante (dans la même vue) les données de la table ABRICOTS
    Ou
    Quand je sélectionne la valeur B j'affiche en bas de ma liste déroulante (dans la même vue) les données de la table BANANE

    Voila ma vue Index !

    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
     
    @model namespace de FruitsViewModel
     
    <select id="select">
    	<option>ABRICOTS</option>
    	<option>BANANE</option>
    	<option>CITRON</option>
    </select>
     
    @foreach(var abricot in Model.Abricots)
    {
    	<div id="abricots">
    		<!-- Affiche les propriétés d'un abricot -->
    	</div>	
    }
     
    @foreach(var banane in Model.Bananes)
    {
            <div id="bananes">
                    <!-- Affiche les propriétés d'une banane -->
            </div>
    }
     
    @foreach(var citron in Model.Citrons)
    {
            <div id="citrons">
                    <!-- Affiche les propriétés d'un citron -->
            </div>
    }
     
     $("#select").change(function() {
    	var $selectedItem = $(this).find(":selected"); // Obtient l'élément sélectionné		
    	if ($selectedItem != null) {
    		var value = $selectedItem.val(); // Obtient la valeur de l'élément sélectionné		
    		if (value == "A") {
    			$("#abricots").show();
    			$("#bananes").hide();
    			$("#citrons").hide();			
    		} else if (value == "B") {
    			$("#abricots").hide();
    			$("#bananes").show();
    			$("#citrons").hide();		
    		} else if (value == "C") {
    			$("#abricots").hide();
    			$("#bananes").hide();
    			$("#citrons").show();		
    		}		
    	}	
    });
    Ce que je veux faire c'est que de modifier dans la vue Edit une ligne de donné dans la table que je viens d'afficher avec la liste déroulante


    Merciiii

Discussions similaires

  1. Réponses: 10
    Dernier message: 25/06/2008, 13h54
  2. Comment mettre a jour la condition d'une boucle?
    Par roulia_rousset dans le forum Langage
    Réponses: 6
    Dernier message: 23/04/2008, 13h39
  3. Réponses: 6
    Dernier message: 10/04/2008, 13h43
  4. Comment mettre a jour des calculs dans un userform
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/06/2007, 17h59
  5. Réponses: 2
    Dernier message: 02/05/2006, 09h50

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