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 :

actionLink avec attributs


Sujet :

ASP.NET MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut actionLink avec attributs
    Bonjour,

    j'ai une question de débutant sur MVC3...
    je n'arrive pas à créer un lien de ce style avec les paramètres en utilisant actionLink
    http://localhost:3053/HelloWorld/Wel...r&numtimes=100

    Ma classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class HelloWorldController : Controller
        {
            //
            // GET: /HelloWorld/
     
            public ActionResult Welcome(string message, int numTimes = 1)
            {
                ViewBag.message = message;
                ViewBag.numTimes = numTimes;
                return View();
            }
     
        }
    Mon actionLink :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @Html.ActionLink("voir mon hello voir", "Welcome", "HelloWorld", null, new { message="test"})<br />
    Il ne me crée que le lien http://localhost:3053/HelloWorld/Welcome

    Je l'ai fait classiquement avec un href : <a href="/HelloWorld/Welcome?message=test&numTimes=100">Test de href</a>
    mais apriori ActionLink est meilleur ?

    Merci par avance.

    @+

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Par défaut
    essaye de modifier la declaration de numtimes :

    int numTimes = 1 > Optional int numTimes = 1

    ou ajoute le 2eme parametre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Html.ActionLink("voir mon hello voir", "Welcome", "HelloWorld", null, new { message="test",numTimes = 1  })<br />

  3. #3
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut
    Salut,

    optimal n'est pas un mot clef en c# mais uniquement en VB.NET.
    La deuxième méthode crée aussi le lien avec http://localhost:3053/HelloWorld/Welcome uniquement.

    Voici le code entier
    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
     
    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>@ViewBag.Title</title>
        <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
        <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
    </head>
     
    <body>
        <div class="page">
     
            <div id="header">
                <div id="title">
                    <h1>Mon application MVC</h1>
                </div>
     
                <div id="logindisplay">
                    @Html.Partial("_LogOnPartial")
                </div>
     
                <div id="menucontainer">
     
                    <ul id="menu">
                        <li>@Html.ActionLink("Accueil", "Index", "Home")</li>
                        <li>@Html.ActionLink("À propos de", "About", "Home")</li>
                    </ul>
     
                </div>
            </div>
     
            <div id="main">
                @RenderBody()
     
                @Html.ActionLink("voir mon hello voir", "Welcome", "HelloWorld", new { message = "test" })<br />
     
                @Html.ActionLink("voir formulaire personne", "Index", "FormulairePersonne", null, null)<br />
     
                 <a href="/HelloWorld/Welcome?message=test&numTimes=100">Test de href</a> <br />
     
                <div id="footer">
                </div>
            </div>
        </div>
    </body>
    </html>

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 27
    Par défaut
    Bonjour,

    Ceci devrait marcher..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @Html.ActionLink("voir mon hello voir", "Welcome", "HelloWorld", new { message="test" , numTimes=100}, null)


    et pour que numTimes soit nullable:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public ActionResult Welcome(string message, int? numTimes)

    Avec ça, tu peux (ou non) mettre "numTimes" en paramètre dans ton ActionLink.

  5. #5
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut
    ça fonctionne merci :-)

    Ok donc ceci fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     @Html.ActionLink("voir mon hello voir", "Welcome", "HelloWorld", new { message = "test" }, null)

    mais ceci ne fonctionne pas...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     @Html.ActionLink("voir mon hello voir", "Welcome", "HelloWorld", new { message = "test" })
    =>http://localhost:3053/Home/Welcome?Length=10


    donc toujours mettre le null du dernier paramètre.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/03/2007, 14h51
  2. Inserer dynamiquement des champs input avec attribut
    Par titou250 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/01/2007, 09h44
  3. Pb avec attribut static
    Par likenoother dans le forum C++
    Réponses: 3
    Dernier message: 24/08/2006, 12h54
  4. Envoi de formulaire avec attribution de valeur
    Par nicovoa dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/08/2006, 18h22
  5. [MFC]Probleme avec attributs d'une LOGFONT
    Par Fildz dans le forum MFC
    Réponses: 3
    Dernier message: 08/01/2006, 17h59

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