IE上的autocompleteextender缺少一个列表项

时间:2017-04-19 21:39:13

标签: css google-chrome internet-explorer ajaxcontroltoolkit

我在aspx页面上有两个自动完成扩展程序。

<div class="wrapper left">
        <div class="col214 left label">
            Location Name
        </div>
        <div class="col234 left">
            <asp:TextBox ID="txtLocationName" CssClass="col225 tb" runat="server"></asp:TextBox>
            <loc:AutoCompleteExtender ServiceMethod = "getLocationDetails" MinimumPrefixLength="4" CompletionInterval="10" EnableCaching="true" CompletionSetCount="10" 
            TargetControlID="txtLocationName" ID="AutoCompleteLocation" runat="server" FirstRowSelected="false" DelimiterCharacters="," ShowOnlyCurrentWordInCompletionListItem="true" ></loc:AutoCompleteExtender>            
        </div>
    </div>
    <br />
    <div class="wrapper left">
        <div class="col214 left label">
            Clinician Surname
        </div>
        <div class="col234 left">
        <asp:TextBox ID="txtClinicianSurname" CssClass="col225 tb" runat="server"></asp:TextBox>
         <sur:AutoCompleteExtender ServiceMethod="getClinicianDetails" MinimumPrefixLength="2" CompletionInterval="100" EnableCaching="true" CompletionSetCount="10" 
         TargetControlID="txtClinicianSurname" ID="AutoCompletSurname" runat="server" FirstRowSelected="false" DelimiterCharacters="," ShowOnlyCurrentWordInCompletionListItem="true" ></sur:AutoCompleteExtender>
        </div>
    </div>

显示列表项时,它们在我的localhost上正常工作。一旦我部署到测试环境中,Chrome浏览器上显示的列表项就可以了,但是在IE上,第二个列表项由于其下面的文本框位于第二个列表项的位置而丢失。第二个文本框出现在第一个文本框autocompleteextender的第二个列表项的位置。在附图中,列出项目&#39;测试2&#39;在IE上缺少,但第二个文本框出现在它的位置。有人可以帮忙。

提前致谢。 images of chrome and IE

2 个答案:

答案 0 :(得分:0)

我已通过在web.config中编写以下内容解决了问题。 这与IIS7上部署的版本上的IE 11不兼容

<httpProtocol>
      <customHeaders>
        <add name="X-UA-Compatible" value="IE=EmulateIE8" />
      </customHeaders>
    </httpProtocol>

这在我的机器上工作正常。但是,一旦我部署了生活,它就无法在某些机器上运行。当我按F12时,它出现的错误是未定义的jquery&#39;。自动填充文本框工作正常,但页面上有两个jquery日期日历无法正常工作,用户无法提交页面。 使用上面的配置代码,它在某些机器上运行正常,但在其他机器上运行不正常(它们无法显示日期日历,无法提交)。如果我删除上面的代码,它在某些机器上运行正常但在其他机器上没有运行(它们无法在自动填充文本框中看到第二个列出的项目)

答案 1 :(得分:0)

这是由于缓存问题。删除临时文件和浏览历史记录,并使用以下代码在web.config中备份并运行

<httpProtocol>
      <customHeaders>
        <add name="X-UA-Compatible" value="IE=EmulateIE8" />
      </customHeaders>
    </httpProtocol>