我在下面有这个代码。我只想调用/使用下拉列表,但它在项目模板中。当我运行代码时,我遇到了一个错误。请帮帮我。
<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
}
}
我遇到错误:对象引用未设置为对象的实例。为什么?我已经在上面的代码中声明了下拉列表。
答案 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?