增加自动完成扩展程序列表的宽度

Kum*_*mar 4 c# asp.net autocomplete asp.net-ajax

我有一个ASP.NET AJAX自动完成扩展器CompletionListCssClass=autocomplete_completionListElement:

.autocomplete_completionListElement 
{   
    width:500px;
    margin : 0px!important;
    background-color : inherit;
    color : windowtext;
    border : buttonshadow;
    border-width : 1px;
    border-style : solid;
    overflow :auto;
    height : 200px;
    text-align : left; 
}
Run Code Online (Sandbox Code Playgroud)

但由于一些奇怪的原因,即使我将宽度设置为500px,自动完成列表的宽度也总是占用文本框的宽度.有没有办法来解决这个问题?

Aar*_*els 10

我相信你也可以通过改变来实现这一目标

width:500px;

width:500px!important;

Tim Mackey在这篇博客文章中进行了更多阐述.基本上你必须使用!important控制本身覆盖CSS吐出.


Kum*_*mar 9

我终于弄明白了.我使用的OnClientPopulated="onListPopulated"属性如下:

function onListPopulated() {

        var completionList = $find("AutoCompleteEx").get_completionList();
        completionList.style.width = 'auto';
}
Run Code Online (Sandbox Code Playgroud)

  • 给予好评,因为这工作对我来说只是需要注意的是,声明AutoCompleteExtender的时候,我必须包括BehaviorID ="AutoCompleteEx"属性,以允许它由$发现找到的功能. (2认同)