passer plusieurs paramètres à @html.actionlink()
Je suis en utilisant actionlink à passer le paramètre "code" pour contrôleur pour un article et obtenir des détails pour cet article sur la nouvelle vue (en fait, c'est le contrôleur qui appelle 3 vues partielles)
J'ai aussi besoin de passer le paramètre "description" mais c'est juste une valeur qui doivent être affichées comme sur nouvelle vue et n'a aucune utilisation dans le contrôleur (je suis en utilisant le "code" pour filtrer les enregistrements de base de données).
@foreach (var item in Model.MyModel)
{
<tr>
<td>
@Html.ActionLink(item.code, "Index", "ControlerName", new { pos = item.code.ToString(), desc = item.desc.ToString() }, null)
</td>
}
ce actionlink me donner l'url /ControlerName?pos=code&desc=desc
Est-il un moyen d'envoyer des "desc" paramètre afin de ne pas être vu dans l'url, mais seulement affiché comme dans la nouvelle vue?
Vous devez vous connecter pour publier un commentaire.
Non, Html.ActionLink n'existe que pour générer une url et plop à l'intérieur d'une balise d'ancrage. Vous devez être repeupler le desc de la valeur de votre Index d'action quand il est frappé.
Vous devez passer le paramètre que vous l'avez, de sorte que l'autre contrôleur et la vue est conscient de données persistantes.
Une alternative serait de stocker votre description dans une "table de correspondance" que vous pouvez les identifier par
id
, donc vous avez seulement besoin de passer leid
et il sera leController's
ouViewModel's
responsabilité de le chercher.Contrôleur:
Utiliser la balise form et passer tous les paramètres que vous voulez à l'actionresult et de renvoyer n'importe quel autre actionresult(qui vous permettra de transporter vos url souhaitée avec elle) que vous souhaitez.
rasoir demande ; quand on fait de l'aide(Html.BeginForm())