滚动后CalendarExtender错误定位

时间:2009-06-05 23:23:30

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

我正在使用默认样式将CalendarExtender添加到页面。当我单击日历按钮以触发日历弹出时,日历将正常显示。但是,当我向下滚动并再次单击该按钮时,日历的位置不在应有的位置,如下所示。

alt text

为什么会发生这种情况,我该如何解决?

编辑:关于此页面的实施。

CalendarExtender和TextBox是添加到SharePoint 2007页面的WebPart的一部分。我正在创建这样的扩展器:

textBox = new TextBox() { ID = "textBox" };
Controls.Add(textBox);

calendar = new CalendarExtender()
    {
        ID = "ceStartDate",
        TargetControlID = textBox.ID,
        PopupPosition = CalendarPosition.Right,
        PopupButtonID = image.ID
    };
Controls.Add(calendar);

3 个答案:

答案 0 :(得分:14)

我今天遇到了同样的问题。

将文本框和calendarExtender包含在position:relative;

的div中

这解决了我面临的问题,我希望它也可以为你解决问题

答案 1 :(得分:6)

页面的DOCTYPE是什么?还有什么浏览器?我在Quirks模式下使用IE6-7的无效/旧DOCTYPE页面上看到过此问题。

在怪癖模式下,javascript值(如滚动位置)可能会关闭,从而导致渲染效果不佳。您应确保拥有一个有效的DOCTYPE,强制IE进入标准模式,如..

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

答案 2 :(得分:0)

由于这是一篇旧帖子,我发现尝试为自己解决这种情况(以前的答案不成功),我认为我对同一问题的解决方案可能与其他人有关。

  • 我们使用过时版本:3.0.xxx
  • 我们必须升级到最新版本:4.1.xxx

以上版本是AjaxControlToolkit dll版本 - 不是您在NuGet上看到的版本,今天NuGet包(“Ajax Control Toolkit”)将类似于7.xxx。

仅供参考 - 我的研究:我一直在使用最新的AjaxControlToolkit版本的示例来验证我的错误是否在我升级时解决了(因为我知道如何重现我的位置问题)。以下两个站点中至少有一个应该有效:

相关问题