2011-03-24 2 views
0

J'ai ce contrôleur:ASP.Net MVC Envoyer un TextBox.text par un ActionLink

public ActionResult Index(int id) 
     { 
      var cust = (from c in dataModel.Customers 
         where (c.MembershipID == id) 
         select c).First(); 
      return View(cust); 
     } 

Je veux être en mesure de passer à travers l'ID d'une zone de texte sur la page principale. J'ai essayé le suivant mais il dit que "memberid" n'existe pas. Des idées? Merci.

<asp:TextBox ID="memberid"/> 
<%: Html.ActionLink("Customer", "Index", new {id = memberid.Text}) %> 

Mon but est d'entrer une valeur dans une zone de texte, cliquez sur un bouton puis être redirigé vers une nouvelle vue montrant que les détails des utilisateurs.

+1

Vous ne devez pas utiliser les contrôles côté serveur ('') dans MVC. – SLaks

Répondre

0

Étant donné que vous souhaitez que l'utilisateur clique sur un bouton, modifiez le lien à un bouton et dans la méthode http post de votre page principale, Rediriger vers la vue Customer/Index passant dans memberId.

+0

Cela a fonctionné un régal. Merci beaucoup :) –

2

Ceci est seulement possible en utilisant Javascript; vous pouvez gérer l'événement click du lien et accéder explicitement à l'URL.

En utilisant jQuery:

$('#link').click(function() { 
    location = "/Customer/Index/" + encodeUriComponent($('#memberId').text()); 
}); 

Si vous voulez le faire sans Javascript, vous pouvez faire un formulaire contenant une zone de texte et un <input type="submit" />.

+0

Merci pour la réponse, je suis en train de comprendre comment MVC fonctionne, serait-il possible pour un exemple d'extrait de code? Je vous remercie. –

+0

Merci pour l'extrait, ne pas être une douleur :) mais je ne comprends pas vraiment comment lier cela dans l'application exactement .. –

Questions connexes