2010-05-07 9 views
0

Existe-t-il un moyen d'insérer mon ViewModel dans un Ajax.ActionLink?trucs viewmodel dans html.actionlink

modifier Je voudrais prendre mes 5 champs de recherche sur ma page qui se lient à un modèle de vue et le faire parvenir mon .ActionLink comme mon paramètre de valeur de l'objet.

Merci, tige

+0

Que voulez-vous dire? – SLaks

Répondre

0

Au lieu d'utiliser Ajax.ActionLink, ne pouvez-vous utiliser un bouton d'envoi normal à l'intérieur de votre formulaire? Vous pouvez même le styler comme un lien si vous utilisez <input type="image" .... De cette façon, lorsque l'utilisateur clique sur le bouton, il envoie l'ensemble du formulaire avec les valeurs de recherche. Puis ajaxify le formulaire avec Ajax.BeginForm. Pour éviter de polluer votre balisage avec javascript, je vous recommande fortement d'utiliser le framework jQuery plus discret au lieu de Microsoft Ajax.

+0

Actuellement, le formulaire est affiché sur la page de recherche pour récupérer les résultats d'une grille paginée (qui n'a pas tous les enregistrements pour une exportation vers Excel, qui est également une option sur la page). Le formulaire que j'utilise est <% Ajax.BeginForm%> et je ne peux pas obtenir la boîte de dialogue de téléchargement de fichier pour l'exportation en raison, je suppose, de l'UpdateTargetId du formulaire. Là réside mes problèmes. – Rod

0

Cela va créer un lien avec des paramètres d'URL de votre modèle:

<%= Ajax.ActionLink("Link Text", "View", "Controller", new { urlParam = Model.Param1, urlParam2 = Model.Param2}, new AjaxOptions()) %> 
+0

Mais cela ne tient pas compte des changements que l'utilisateur pourrait introduire dans les champs de texte de recherche une fois que la vue a été rendue. –