2010-10-04 4 views
2

J'ai une vue Index. Sur ce point de vue est un lien, et il est créé comme ceci:Appel d'une méthode à partir d'une vue

<%= Html.ActionLink("Clear All", "ClearAll", "CachedCollections") %> 

Je ne veux pas avoir une vue pour ClearAll, je veux juste aller dans la méthode, clairement ce qu'il faut défricher et puis revenez à l'affichage de l'index. Comment ferais-je cela? Ai-je besoin d'appeler une méthode pour cela?

EDIT:

Voici mon code:

[HttpPost] 
public ActionResult ClearAll() 
{ 
    Debug.Print("Got to here"); 

    return RedirectToAction("Index", CachedDictionaryCollectionManager.List); 
} 

De mon lien d'action, il n'est pas frapper cette méthode d'action. Cela me dit juste que la ressource n'est pas trouvée quand je clique dessus.

Veuillez nous aviser.

Merci.

+0

ce serait bien si vous aussi mettre les noms des contrôleurs, afin que nous puissions savoir quelle action/vue auquel appartient le contrôleur – Omu

Répondre

1

dans l'action appelée vous revenez RedirectToAction ("indice");

public ActionResult ClearAll() 
{ 
    ... 
    return RedirectToAction("Index","Home"); 
    //Home is the controller name, don't specify it if you redirect to an action from the same controller 
} 
+0

j'ai cette partie, je l'ai marqué la méthode comme HttpPost . Quand je clique sur le lien alors il me dit que la ressource ne peut pas être trouvée. J'ai un point d'arrêt et ça ne va même pas dans la méthode. –

+0

S'il vous plaît voir le commentaire mis à jour. –

+0

@Brendan Vogt il ne va pas là parce qu'un clic sur un lien n'est pas un message (habituellement), donc vous soit supprimez le [HttpPost] ou vous mettez un formulaire méthode = "post" action = "<% = Url ("Action", "Contrôleur")%> "avec un bouton d'envoi au lieu du Html.ActionLink – Omu

2

Dans la méthode ClearAll à la fin il suffit de mettre:

Voir le retour ("indice");

1

méthodes d'action ne vraiment pas besoin de retourner quoi que ce soit:

Utilisation: Return new EmptyResult();

Questions connexes