2010-03-05 4 views
1

Voici mon scénario, pour lequel je suppose qu'il ya une solution simple qui me manque: Je veux ajouter un bouton de confirmation pour chaque lien supprimer dans une application MVC, quand j'essaie ceci:Comment les contrôles HTML peuvent-ils être référencés à partir des contrôles ASP.Net?

<%= Html.ActionLink("Delete", "Delete", new { id = item.Id }, new { id = "_delete_" })%> 
<asp:ConfirmButtonExtender ID="ConfirmButtonExtender1" runat="server" TargetControlID="_delete_" ConfirmText="Want it or not?" /> 

Je reçois ceci:

Exception Details: System.InvalidOperationException: The TargetControlID of 'ConfirmButtonExtender1' is not valid. A control with ID '_delete_' could not be found. 

le problème est que l'aspic: contrôle ConfirmButtonExtender est analysé avant render arrive donc pas « supprimer » contrôle HTML est présent - encore.

Comment puis-je obtenir ce droit? Merci d'avance.

Répondre

3

Vous pouvez simplement ajouter une confirmation JavaScript à la collection d'attributs HTML.

<%= Html.ActionLink("Delete", "Delete", new { id = item.Id }, new { onclick = "javascript:return confirm('Are you sure?');", id = "_delete_" })%> 
+0

Bonne réponse, ++. Quoi qu'il en soit, je me demande s'il existe un moyen de faire référence aux contrôles HTML des ASP. – Ariel

+0

Bien, vous pouvez toujours référencer le formulaire à partir du code côté serveur ASP.NET. C'est tous les contrôles Web sont, juste enveloppés dans tous les trucs de Microsoft. Like Request.Form ["htmlFormElement"] –

+0

Est-ce que cela vous a aidé ou répondu à ce que vous cherchez, ou suis-je hors cible? –

Questions connexes