Ich habe ein Formular in einem ASP.NET MVC-Projekt, das eine ausgewähltes Dropdown-Liste verwandt Folgendes:Wie kann ich den Text einer ausgewählten Option mit ASP.NET MVC abrufen?
<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>
In einer späteren Seite im Projekt Ich brauche etwas zu tun mit der GUID-Kennung, aber Zuerst muss ich den Benutzer zur Bestätigung auffordern. Offensichtlich ist die GUID für sie nutzlos und sie würden gerne den freundlicheren Namen (d. H. "Volvo Account") sehen.
Wenn ich jedoch in die FormCollection-Werte bohre, kann ich nur den Wert erhalten, nicht den Text der ausgewählten Option. Dies ist angesichts der Entwurfsziele sinnvoll, aber wie kann ich den Textwert auch POST?
Ich kann mir einige Problemumgehungen vorstellen (ein verstecktes Feld mit JavaScript einstellen, eine Suche nach der Tat mit der GUID und der gleichen Methode, mit der ich dies bevölkerte, etc.) aber gibt es irgendeine intrinisc Weg, dies zu tun, ich fehlt?
Was passiert, wenn sich der Wert nicht ändert? Ich stimme dem nicht zu, aber die Art und Weise wie der Client es will, der erste Wert in der Liste ist ein gültiger Wert (also können sie durchklicken, wenn sie nicht geändert werden wollen) –
Sie können den Wert des versteckte Eingabe, um den Wert Ihrer SELECT-Eingabe in Ihrer Ansicht ziemlich einfach zu entsprechen und die JavaScript-WirecUp-Änderungen zu verarbeiten. Von Ihnen können Sie ein seitenfertiges Skript ausführen lassen und die versteckte Eingabe auf den ausgewählten Wert setzen, sobald die Seite geladen ist. – JMP