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 :

Equivalent OnClick en MVC2


Sujet :

ASP.NET MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Décembre 2010
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Décembre 2010
    Messages : 126
    Par défaut Equivalent OnClick en MVC2
    Bonjour,

    Je suis habitué à faire du dev webform, et je viens de commencer à travailler avec ASP.NET MVC2 et j'ai une question toute bête mais je ne trouve pas la solution.

    Ma question :

    J'ai défini sur un bouton un événement OnClick dans ma page index.aspx

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Button ID="Btn" runat="server" Text="Test" OnClick="btn_Click" />

    Et je souhaite définir ma methode "btn_Click", cependant en MVC y a pas de code behind, donc pas de index.aspx.cs
    J'ai tenté de mettre la définiton de la méthode dans le HomeController.cs mais ça ne fonctionne pas.

    Y a t'il un moyen de faire ce que je souhaite en MVC2 ?

    Merci de vos réponses.

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    C'est pour faire quoi ton bouton?

  3. #3
    Membre confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Décembre 2010
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Décembre 2010
    Messages : 126
    Par défaut
    c'est juste pour tester une connexion vers une base oracle :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    protected void btn_Click(object sender, EventArgs e)
            {
                OracleConnection conn = new OracleConnection();
                conn.ConnectionString = "Data Source=NEWDB;User ID=SYSTEM;Password=admin";
                try
                {
                    conn.Open();
                    conn.Close();
                    MessageBox.Show("Connection successful!");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error connecting to Oracle");
                }
            }

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Mais faut bien comprendre que l'asp.net mvc faut pas du tout le penser comme ca!
    J'irai même jusqu'à dire qu'il faut que t'oublies tout d'ASP.Net et que tu fasses le contraire!

    Ce qu'il faut que tu fasses:
    • Créer une nouvelle action dans ton controller.
    • Mettre cette action comme destination de ton bouton
    • Mettre ton code dans l'action en question

  5. #5
    Membre confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Décembre 2010
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Décembre 2010
    Messages : 126
    Par défaut
    merci de vos réponses.
    Bon en gros dans mon controller je définis mon ActionResult, je place le code de test de ma connection vers la base de donnée mais ce que je ne comprend pas c'est comment "Mettre cette action comme destination du bouton" !!!

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2010
    Messages : 119
    Par défaut
    re,
    quand tu n'as qu'un seul bouton dans ta vue, lorsque tu clic tu es dirigé tous seul vers l'action post de ton contrôleur.
    Oublis pas d'annoter ton contolleur post avec
    [HttpPost]
    et tu ne devrais pas avoir de probleme.
    PS: ta vue et le nom de tes actions dans le contrôleur doivent être identique.
    dans mon exemple mes actions get et post de contrôleur s'appellent "delete" et ma vue est delete.aspx
    cordialement

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2010
    Messages : 119
    Par défaut
    bonjour,
    Le MVC n'est pas comme le webForm tu n'a pas de code beind tu doit utiliser les action de controleur pour communiquer avec les vues.
    Il te suffit de faire deux actions dans ton contrôleur une de type get qui va permettre d'afficher ta page de départ et une autre de type post qui va traiter ton bouton.
    Par exemple sur une vue de suppression du aura quelque chose comme sa dans ton contrôleur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public ActionResult Delete(int id, int idcontenu)
            {
    ... du code...
                return View(_Service.GetArticle(id));
            }
    qui permet d'afficher un article. et la deuxième action:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     [HttpPost]
            public ActionResult Delete(wsgModuleArticle wsgArticleToDelete)
            {
                if (_Service.DeleteArticle(wsgArticleToDelete))
                    return RedirectToAction("Index", new { id = wsgArticleToDelete.idWsgContenuWsgModuleArticle });
                return View();
            }
    qui effectue la suppression et redirige sur la page index en cas de réussite ou reste sur la page de suppression si il y a un problème.

    dans ta vue tu a un simple bouton de type submit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" value="suppression" />
    Sinon tu peut aller voir ces post sur des forums:
    premier post
    deuxième post
    ou les tuto de developpez.com avec les quels je me suis formé et qui sont plutôt bien

    J'espère t'avoir aidé
    cordialement,

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

Discussions similaires

  1. Equivalent de onclick en HTML/CSS
    Par dashed dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 10/02/2014, 09h37
  2. [Kylix] Equivalent ShellExec en CLX
    Par Anonymous dans le forum EDI
    Réponses: 7
    Dernier message: 14/08/2002, 11h55
  3. Un Sender peut-il s'auto-détruire lors d'un onClick?
    Par Flo. dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/07/2002, 10h31
  4. Equivalent à ExeName pour une DLL
    Par Smortex dans le forum Langage
    Réponses: 7
    Dernier message: 16/07/2002, 21h07
  5. [Kylix] equivalent winsock avec kylix
    Par Victor dans le forum EDI
    Réponses: 2
    Dernier message: 08/05/2002, 07h43

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