J'ai un formulaire dans un projet ASP.NET MVC qui a une forme de liste déroulante semblable à ce qui suit:Comment puis-je obtenir le texte d'une option sélectionnée avec ASP.NET MVC?
<select>
<option value="ee5711b9-ec86-4378-a975-ae10a4ebedbc">Volvo Account</option>
<option value="0dc0e9d8-2245-43de-81a9-5b94c19646fa">Saab Account</option>
<option value="f9a05ef6-9ca6-4eeb-9e04-79726a62b38c">Mercedes Account</option>
<option value="1c5c2e43-06d6-4b7d-916a-231be535a608">Audi Account</option>
</select>
Dans une page plus tard dans le projet que je dois faire quelque chose avec l'identifiant GUID, mais Je dois d'abord inviter l'utilisateur à confirmer. De toute évidence, le GUID leur est inutile et ils aimeraient voir le nom plus convivial (c'est-à-dire "compte Volvo"). Mais quand j'examine les valeurs de FormCollection, tout ce que je peux obtenir est la valeur, pas le texte de l'option sélectionnée. Cela est logique étant donné les objectifs de conception, mais comment puis-je POST sur la valeur du texte?
Je peux penser à certaines solutions de contournement (définir un champ caché avec JavaScript, faire une recherche après le fait avec le GUID et la même méthode par laquelle j'ai peuplé cela, etc.) mais y at-il une façon intrinisque de le faire Je suis manquant?
Et si la valeur ne change jamais? Je ne suis pas d'accord avec cela mais la façon dont le client le veut, la première valeur de la liste est valide (donc ils peuvent cliquer à droite s'ils ne veulent pas la changer) –
Vous pouvez définir la valeur du entrée cachée pour correspondre à la valeur de votre entrée SELECT dans votre vue assez facilement et laissez le JavaScript wireup gérer les changements. Vous pouvez exécuter un script prêt pour la page et définir l'entrée masquée sur la valeur sélectionnée une fois la page chargée. – JMP