错误:在ItemTemplate中调用下拉列表

时间:2014-10-09 09:45:28

标签: c# wpf xaml

我在下面有这个代码。我只想调用/使用下拉列表,但它在项目模板中。当我运行代码时,我遇到了一个错误。请帮帮我。

<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
    }
}

我遇到错误:对象引用未设置为对象的实例。为什么?我已经在上面的代码中声明了下拉列表。

1 个答案:

答案 0 :(得分: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?