2011-03-27 3 views
1

J'ai une vue qui reçoit un modèle et affiche les informations de ce modèle. J'ai un bouton soumettre et quand on clique dessus, je veux qu'il envoie l'identifiant à la méthode pour le traiter et supprimer une ligne qui a un tel identifiant.Envoyer l'ID de la vue au contrôleur

Comment est-ce que je peux faire ceci? Je veux utiliser un button pas un lien html comme

@Html.ActionLink("Delete", "Delete", new { id = Model.Id }) | 

Merci!

J'ai essayé type d'entrée cachée, mais n'a pas fonctionné = (

Répondre

2

Vous pouvez utiliser un formulaire pour faire ... Je ne l'utilise pas rasoir, mais d'une manière équivalente .aspx pour ce faire serait la suivante:

<%using (Html.BeginForm("Home", "myaction", new { Id = 1 })) 
    { %> 
    <input type="submit" value="submit" /> 
<%} %> 

Cela affichera à ~/Accueil/myaction/1

Il suffit d'appeler Html.BeginForm avec la syntaxe de rasoir appropriée.

+0

Un million merci! Je ne pensais pas la même chose que le lien html pourrait être fait avec le début forme n – bb2

+0

@ bb2: c'est aussi une bonne pratique, d'utiliser une soumission de formulaire qui fait un HTTP POST, plutôt qu'un lien qui fait un GET. C'est une mauvaise pratique d'avoir une requête GET qui change quelque chose sur le serveur, ce qu'un lien de suppression fait sûrement. – Carson63000

+0

Comme @ Carson63000 mentionné, alors sa mauvaise pratique d'utiliser GET pour Créer/Supprimer opération en raison de la sécurité. Un exemple pourrait être que quelqu'un vous envoie un e-mail avec: '' et dès que vous chargez l'image de l'e-mail, le GET sera renvoyé. – ebb

Questions connexes