2014-10-09 2 views
0

У меня есть этот код ниже. Я просто хочу вызвать/использовать раскрывающийся список, но он находится внутри шаблона элемента. Когда я запускаю код, я обнаружил ошибку. Пожалуйста, помогите мне.Ошибка: вызов выпадающего списка в ItemTemplate

<EditItemTemplate> 
    <asp:DropDownList ID="statusDDL" runat="server" AutoPostBack="True" 
     onselectedindexchanged="statusDDL_SelectedIndexChanged"> 
    </asp:DropDownList> 
</EditItemTemplate> 

protected void statusDDL_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    DropDownList ddlStatus = new DropDownList(); 
    ddlStatus = auditGridView.FindControl("statusDDL") as DropDownList; 

    if (ddlStatus.SelectedItem.Text == "Closed") 
    { 
     //do logic here 
    } 
} 

Im встречая ошибку: ссылка на объект не указывает на экземпляр объекта. ЗАЧЕМ? Я уже объявлял раскрывающийся список, как показано в приведенном выше коде.

+0

попробуйте использовать событие сетки сетки: protected void gv_RowEditing (отправитель объекта, GridViewEditEventArgs e) –

ответ

0

Вы можете использовать sender в обработчик события SelectedIndexChanged:

protected void statusDDL_SelectedIndexChanged(object sender, EventArgs e) 
{  
    if ((sender as DropDownList).SelectedItem.Text == "Closed") 
    { 
     //do logic here 
    } 
} 

Однако это скорее Winform стиль программирования. Используя WPF, вы действительно должны посмотреть в data binding. Но поскольку вы используете asp:DropDownList, я не уверен, что это WPF?

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