Référence ID d'un contrôle créé avec TextBoxFor()
Je suis aimer ASP.NET MVC, en gardant en place avec les releases/docs peut parfois être difficile, donc peut-être que je suis tout simplement pas obtenir quelque chose... je veux utiliser un TextBoxFor(), et en travaillant avec LabelFor (), etc. est fine, toute la magie qui se passe pour moi.
Mais si je crée...
<%=Html.TextBoxFor(x => x.LastName) %>
Et je voulais faire quelque chose de sympa avec jQuery, comment pourrais-je obtenir l'ID de la commande qui a été créé? Je pourrais ajouter une classe CSS et de l'utiliser pour joindre mon jQuery, mais pour quelque chose que je fais, je voudrais que les ID... si je pouvais faire quelque chose comme:
$('#LastName').(...)
Je sais que je pourrais travailler dans ce cas, et hack manuellement, mais est-il propre?
TextBoxFor()
de la sortie?Ceci fonctionne et génère l'ID que vous attendez, mais je pense que si le cadre de travail pour une zone de texte, il serait capable de travailler dans d'autres lieux... Surtout utile lorsque l'ID est généré pour un tableau si vous vous retrouvez avec un ID comme "Sites web_0__Url". La méthode manuelle fonctionne, je pense juste que MVC doit le savoir pour moi et sauve moi de faire des erreurs 😉
OriginalL'auteur Colin Asquith | 2010-03-24
Vous devez vous connecter pour publier un commentaire.
Depuis MVC4 il est intégré dans la façon de le faire - @Html.IdFor().
Voici un échantillon de l'utiliser:
et le résultat est comme
OriginalL'auteur Alex Klaus
Je pense que vous pouvez faire quelque chose comme:
Les surcharges de TextBoxFor
Une autre façon de le faire est d'utiliser MvcContrib, qui introduit le IdFor méthode, qui permet de faire <%=ce.IdFor(x => x.LastName)%> qui est magique!
Au lieu de générer des identificateurs de champ manuellement, je recommanderais de Colin approche ou si vous ne voulez pas dépendre de l'MVCContrib alors stackoverflow.com/questions/3065307/...
OriginalL'auteur bruno conde
Comme un point d'intérêt, il apparaît que le Html.Textbox() code va générer un numéro d'identification, de dupliquer le nom de la commande pour quelque chose qui commence par une lettre (a-z). Cependant, si votre nom commence par un nombre, il ne sera tout simplement pas la peine.
C'est un fantastique "fonctionnalité" qui m'a causé du chagrin pour la dernière heure.
OriginalL'auteur Rich Linnell
Par défaut, votre id de contrôle est votre modèle de valeur contraignante, Vous pouvez aussi Simplement utiliser firebug. sélectionnez le contrôle et obtenir, par défaut, l'id de contrôle.
OriginalL'auteur atik sarker