2011-04-18 21 views

Respuesta

21

Hay FindByTextFindByValue y funciones disponibles:

ListItem li = Select1.Items.FindByText("Three"); 
ListItem li = Select1.Items.FindByValue("3"); 
li.Selected = true; 
+0

Es bueno incluso con v3.5 - http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listitemcollection_members(v=VS.90).aspx. –

1

Prueba esto:

for (int i=0; i<=Select1.Items.Count - 1; i++) 
{ 
    if (Select1.Items[i].Value = valueToSelect) 
    { 
     Select1.Items[i].Selected = true; 
     // Try this too - http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlselect.selectedindex(v=VS.90).aspx 
     //Select1.SelectedIndex = i; 
    } 
} 
+2

No hay necesidad de iterar. hay métodos dados revisa mi respuesta. –

+0

@Muhammad Akhtar: verifique el enlace de mi comentario en su respuesta –

+0

Su .net 3.5 Framework Documentation. He probado en .net 4.0. ¿Podrías comprobar tu final? –

3

HTML:

<select id="selUserFilterOptions" runat="server"> 
    <option value="1">apple</option> 
    <option value="2">orange</option> 
    <option value="3">strawberry</option> 
</select> 

C#:

string fruitId = selUserFilterOptions.Value.ToString(); 
+0

¡Impresionante! Estaba haciendo malabarismos con las propiedades '.SelectedIndex' y' Items'. – aspiring

0

puede simplemente usar el siguiente código para obtener el texto de la opción seleccionada de HTML Seleccione:

var selectedText = Select1.Items[Select1.SelectedIndex].Text.Trim(); 

Select1 es el ID de su control seleccione HTML.

Cuestiones relacionadas