表中的AjaxControlToolkit DropDownExtender始终显示关联的面板

时间:2010-02-08 22:00:24

标签: asp.net ajaxcontroltoolkit dropdownextender

我有一个textarea,其中包含与之关联的ajaxcontroltoolkit dropdownextender,以及一个包含gridview的面板,其中包含供用户选择的选项。

以下是这些项目的代码:

    <asp:UpdatePanel ID="updPnlView" UpdateMode="Conditional" runat="server">
<ContentTemplate>
    <asp:TextBox ID="txtSiteName" runat="server" TextMode="MultiLine" Rows="4" Columns="33" ReadOnly="true" /></td>
    <ajaxToolkit:DropDownExtender runat="server" ID="popupdropdown" 
    DropDownControlID="pnlGrid" TargetControlID="txtSiteName" />
    <asp:Panel runat="server" ID="pnlGrid" Style="display: none; visibility: hidden" Height="300" ScrollBars="Vertical"> 
         <asp:GridView ID="gvSite" runat="server" AutoGenerateColumns="False" Width="100%" 
            DataKeyNames="ID,FullAddress" DataSourceID="odsSite" OnRowDataBound="gvSite_RowDataBound" 
            ShowFooter="false" ShowHeader="false" OnSelectedIndexChanged="gvSite_SelectedIndexChanged" >
            <Columns>
                <asp:CommandField ButtonType="Link" SelectText="Select" ShowSelectButton="true" ItemStyle-CssClass="HiddenColumn" />
                <asp:TemplateField >
                     <ItemTemplate>
                         <asp:Label ID="FullAddress" runat="server" Text='<%# Eval("FullAddress").ToString().Replace("\n", "<br/>") %>'></asp:Label>
                     </ItemTemplate>
                </asp:TemplateField>
                <asp:CheckBoxField DataField="DisabledFLG" ItemStyle-CssClass="HiddenColumn" />
            </Columns>
        </asp:GridView>
    </asp:Panel>
    <asp:ObjectDataSource ID="odsSite" runat="server" OldValuesParameterFormatString="original_{0}" 
        SelectMethod="GetList"
        TypeName="SOM.DCO.MOGWAI.Bll.SiteManager"
        onselecting="odsSite_Selecting" SortParameterName="SortExpression" 
        onselected="odsSite_Selected" >
        <SelectParameters>
            <asp:Parameter Name="myCriteria" Type="Object" />
            <asp:Parameter Name="myIDs" Type="Object" />
            <asp:Parameter Name="sortExpression" Type="String" />
            <asp:Parameter Name="bypassCache" Type="Boolean" />
        </SelectParameters>
    </asp:ObjectDataSource>
</ContentTemplate>
</asp:UpdatePanel>

当我将此项目放在表格中时(即<table><tr><td>THE CODE ABOVE</td></tr></table>),面板始终显示完全打开,从不隐藏。它还完全填充了TD内的可用空间,并将页面上的所有其他文本推送到屏幕上。 如果我从表中取出相关的控件,它会按预期工作。我在Firefox和IE8中都重复了这个问题。

是什么给出了?

1 个答案:

答案 0 :(得分:0)

好吧,通过进一步测试,我能够证明只有在dropdownextender引用的控件是gridview时才会发生这种情况。

我改为将其更改为listview控件,它可以正常工作。

我认为这是一个错误,但我无法在任何地方找到任何记录。

我还测试了当gridview位于未被dropdownnextender引用的面板内时它是否具有相同的行为,但它没有发生。所以它肯定与dropdownnextender有关。