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 :

Ouvrir vue via bouton


Sujet :

ASP.NET MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut Ouvrir vue via bouton
    Bonjour à tous,

    je débute en développement web et je dois faire un client léger pour une application lourde. J'ai de bonnes compétences en .NET mais plus sur des appli lourdes.

    Ma question est toute bête mais je suis bloqué, sur ma page index.cshtml j'ai un bouton connexion qui doit ouvrir la vue connexion contenant les textbox user et mot de passe mais je n'arrive pas à faire le lien entre le bouton et la vue.

    Voici le code de la vue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    @{
        ViewBag.Title = "Connexion";
    }
     
    <p>
         <input type="submit" value="Connexion" />
    </p>
    et voici le code du contrôleur :

    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
    public class HomeController : Controller
        {
     
            public ActionResult Index()
            {
                return View();
            }
     
            public ActionResult About()
            {
                return View();
            }
     
            public ActionResult Connexion()
            {
                return View();
            }
     
     
        }
    Ce n'est pas la méthode Action Result Connexion qui permet d'appeler la vue ?

    Merci pour vos réponses

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Essaies ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    &lt;input type="button" value="Connexion" onclick="window.location = 'Home/Connexion'" /&gt;

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    merci ça fonctionne

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    autre petite question qui me permettra de bien avancer, comment renvoyer une liste à la page web ?

    je m'explique, quand je valide l'user et le mot de passe, une méthode me renvoi une List<string> que j'aimerais afficher sur la page suivante, comment la passer en paramètre ? faut-il créer quelque chose dans le modèle, j'aimerais après faire un foreach avec des balises td et tr

    Merci d'avance

  5. #5
    Invité
    Invité(e)
    Par défaut
    Une fois que tu récupères le résultat de ta méthode qui te renvoie une collection List<string>, tu as plusieurs solutions :
    • tu affectes le résultat dans une propriété dynamique de ton ViewBag
    • tu l’insères dans le dictionnaire ViewData
    • tu l'affectes dans une propriété que tu auras déjà créée dans ton ViewModel ou dans ton Model.


    Dans tous les cas, c'est dans ta vue que tu parcours la liste. Dans les 2 premiers cas tu dois "caster" la donnée au type attendu. Dans le dernier cas, si ta vue est bien typée sur le Model ou le ViewModel alors là pas de problème

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    merci pour la réponse mais je n'y arrive pas. Voila ce que j'ai fait :

    Dans le model j'ai crée une classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class RoleModel
        {
            [Display(Name = "Role")]
            public List<String> ListeRoles { get; set; }
        }
    Puis dans mon contrôleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public ActionResult Connexion(LogOnModel model, RoleModel model2)
            {
                bool test;
                bool test2;
     
                test = ech.Initialisation1();
                test2 = ech.Connexion(model.UserName, model.Password);
     
                model2.ListeRoles = ech.ProposerRoles();
     
                return View("Roles", model2.ListeRoles);
            }
    la méthode ProposerRoles renvoi une List<string>

    et enfin j'ai crée une vue Roles fortement typée en utilisant RoleModel :
    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
     
    @model Test.Models.RoleModel
     
    @{
        ViewBag.Title = "Roles";
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
     
    <h2>Roles</h2>
     
    @foreach (var item in Model.ListeRoles)
        {
            <tr>
                <td>@item</td>
            </tr>
        }
    et voici l'erreur que j'ai :
    The model item passed into the dictionary is of type 'System.Collections.Generic.List`1[System.String]', but this dictionary requires a model item of type 'Test.Models.RoleModel'

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

Discussions similaires

  1. Ouvrir un fichier Word via bouton de commande sous Access
    Par adri891 dans le forum VBA Access
    Réponses: 8
    Dernier message: 03/01/2013, 09h58
  2. Ouvrir une URL via bouton ?
    Par Jihzz dans le forum VB.NET
    Réponses: 2
    Dernier message: 14/12/2012, 08h26
  3. Réponses: 1
    Dernier message: 26/01/2006, 17h04
  4. Réponses: 2
    Dernier message: 15/06/2005, 23h56
  5. [FireBird] Accéder à une vue via Excel
    Par Vonotar dans le forum Débuter
    Réponses: 1
    Dernier message: 07/12/2004, 09h31

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