2016-10-10 5 views
1

Привет У меня есть следующий HTML-код:Выберите вариант с C#

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

Моего выбор имеет элементы, например (1, 2, 3, 4 ... и т.д.), что я хочу сделать, это на Page_Load показывает определенный элемент, как выбран, то, что я пытаюсь это следующий код:

int idNumber = 1; 
id.SelectedIndex = idNumber; 

EDIT:

Я пытаюсь решить эту проблему с помощью следующего кода:

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

Но теперь я получаю эту ошибку:

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.

На этой линии:

li.Selected = true;

Но это не работает, как я могу решить эту проблему?

+0

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

+0

@RickS Я видел этот вопрос, но я не мог» t реализовать его в моем проекте –

+1

Почему вы не можете реализовать его в своем проекте? –

ответ

0

Вы подтвердили, что li не имеет значения null перед обновлением его свойств?

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

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

Я тестирую ваш код и ли он пуст –

+0

Итак, это означает, что фильтр у вас есть на id.Items ничего не возвращает - значит Alerta не найден –

+0

Я положил эту кодолинку: Response.Write (Session ["Alerta"]. ToString()) ; и показывает мне «1», поэтому я думаю, что проблема в том, что я заполняю ввод через AJAX, поэтому, когда мой код выполнен, ничего не найдено –

Смежные вопросы