2016-10-10 1 views
1

Hallo Ich habe den folgenden HTML-Code:Wählen Sie die Option mit C#

<asp:TextBox ID="alertatxt" CssClass="hidden" runat="server"></asp:TextBox> 
<select class="form-control" required="" id="id" name="id" runat="server"> 
</select> 

Meine wählen Sie haben Elemente zum Beispiel (1, 2, 3, 4 ... etc.), was ich will, ist auf page_load tun zeigt ein bestimmtes Element als ausgewählt, was ich versuche, ist der folgende Code:

int idNumber = 1; 
id.SelectedIndex = idNumber; 

EDIT:

ich versuche, dies mit dem folgenden Code zu lösen:

string idN = Session["Alerta"].ToString(); 
ListItem li = id.Items.FindByValue(idN.ToString()); 
li.Selected = true; 

Aber jetzt bekomme ich diesen Fehler:

Object reference not set to an instance of an object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

An dieser Linie:

li.Selected = true;

Aber das funktioniert nicht, wie kann ich dieses Problem lösen?

+0

http://stackoverflow.com/questions/5700121/how-to-set-selected-value-text-of-a-html-select-control –

+0

@RickS sah ich diese Frage, aber ich couldn‘ Implementieren Sie es zu meinem Projekt –

+1

Warum können Sie es nicht in Ihr Projekt implementieren? –

Antwort

0

Haben Sie bestätigt li ist nicht null vor der Aktualisierung seiner Eigenschaften?

string idN = Session["Alerta"].ToString(); 
ListItem li = id.Items.FindByValue(idN.ToString()); 

if (li != null) 
    li.Selected = true; 
+0

Ich teste deinen Code und li ist leer –

+0

Das bedeutet, dass der Filter, den Sie auf id.Items haben, nichts zurückgibt - was bedeutet, dass Alerta nicht gefunden wird –

+0

Ich setze diese Codezeile: Response.Write (Session ["Alerta"]. ToString()) ; und zeigt mir "1", also denke ich, dass das Problem ist, dass ich die Eingabe über AJAX fülle, also wenn mein Code ausgeführt wird, findet nichts –

Verwandte Themen