ASP.NET Ajax - Autocompleteextender控件出现在其他控件后面

时间:2009-06-05 08:51:51

标签: asp.net ajax asp.net-ajax autocompleteextender

具体来说,我在顶部有一个带有autocompleteextender的搜索表单。当您键入字符串时,它会按预期自动填充下拉列表中的匹配项。

问题是表单下方的一些SliderExtender控件出现在自动完成下拉列表上方(它没有覆盖这些控件)。

我环顾四周但还没找到答案。似乎问题可能发生在其他控件上,而不是特定于这些控件。

1 个答案:

答案 0 :(得分:8)

我找到了一个对我有用的简单答案,我忽略了。我只是在AutoCompleteExtender的CSS类中将定位切换为绝对,然后为它设置Z-Index。自动填充的建议列表现在显示在所有其他元素之上。

.aspx中的控件代码 我已经应用了自己的CSS:

<cc1:AutoCompleteExtender ID="componentID_AutoCompleteExtender" runat="server" 
        TargetControlID="componentID"
        ServicePath="ImageComponentService.asmx" 
        ServiceMethod="GetComponentMatches"
        MinimumPrefixLength="3" 
        CompletionInterval="1000"
        EnableCaching="true" 
        CompletionSetCount="10" 
        CompletionListCssClass="CompletionListCssClass"
        CompletionListItemCssClass="CompletionListItemCssClass" 
        CompletionListHighlightedItemCssClass="CompletionListHighlightedItemCssClass" 
        OnClientItemSelected="itemSelected"
        Enabled="true" FirstRowSelected="true"
        BehaviorID="AutoCompleteEx">
    </cc1:AutoCompleteExtender>

<强> CSS

.CompletionListCssClass
{
    font-size: 11px;
    color: #000;
    padding: 3px 5px;
    border: 1px solid #999;
    background: #fff;
    width: 300px;
    float: left;
    z-index: 1;
    position:absolute;
    margin-left:0px;
}