10

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

替代文字

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

编辑:关于这个页面的实现。

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);
4

3 回答 3

14

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

将您的文本框和 calendarExtender 包装在一个 div 中position:relative;

这解决了我面临的问题,我希望它也对你有用

于 2010-08-18T13:34:19.750 回答
6

页面的DOCTYPE是什么?另外,它是什么浏览器?我在 Quirks 模式下使用 IE6-7 的无效/旧 DOCTYPE 的页面上看到了这个问题。

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
于 2009-06-05T23:47:24.333 回答
0

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

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

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

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

于 2014-09-08T11:29:00.437 回答