后面的代码中无法识别ControlID

时间:2014-03-29 07:22:26

标签: c# asp.net visual-studio-2012

这是我的asp代码

<tr class="footer" runat="server">
    <td colspan="4" runat="server">* By WWW.Play.org
       <asp:DropDownList AutoPostBack="true" runat="server" ID="callDispositionSelector" OnSelectedIndexChanged="callDispositionChanged">
           <asp:ListItem Value="-1">Select Disposition Reason</asp:ListItem>
           <asp:ListItem Value="1">Reservation</asp:ListItem>
           <asp:ListItem Value="2">Change of Reservation</asp:ListItem>
           <asp:ListItem Value="3">Cancellation</asp:ListItem>
           <asp:ListItem Value="4">Wait List</asp:ListItem>
           <asp:ListItem Value="5">Other</asp:ListItem>
       </asp:DropDownList>
    </td>
</tr>

在后面的代码中,我无法输入此callDispositionSelector。换句话说,视觉工作室不会识别该ID。

我尝试了清理,重建,重新启动visual stuidio,但没有任何帮助。

我尝试将ID更改为其他名称,但仍然无法识别。

我尝试删除设计器,然后重新生成它但仍然是同样的问题

我尝试重新启动Windows但仍然存在同样的问题

注意

此控制器位于Item Template

中的asp.ListView

1 个答案:

答案 0 :(得分:0)

在listview的itemdatabound事件中找到您的下拉列表控件,如下所示

protected void lst_ItemDataBound(object sender, ListViewItemEventArgs e)
 {
       if (e.Item.ItemType == ListViewItemType.DataItem)
        {
            DropDownList ddl= (DropDownList)e.Item.FindControl("callDispositionSelector");
        }
 }