0

我有一个与 ajaxcontroltoolkit dropdownextender 关联的 textarea,以及一个包含 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 中都重复了这个问题。

是什么赋予了?

4

1 回答 1

0

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

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

我认为这是一个错误,但我在任何地方都找不到它的任何记录。

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

于 2010-02-10T13:44:22.373 回答