Ajax CalendarExtender在谷歌浏览器中显示错误的位置

时间:2012-08-23 05:16:17

标签: asp.net css asp.net-ajax ajaxcontroltoolkit

我正在使用CalendarExtender控件,它是分配文本框,CalendarExtender正好在文本框下方,但我的问题是我在页面底部有一个文本框,所以需要向下滚动并选择文本框。 这是我的问题,当我滚动并选择文本框时,我的日历显示在屏幕上方的某些位置,而不是所有正确的位置。 我更改分辨率以避免滚动,而不是很好。但我的页面需要强制滚动。

请任何人给我解决方案

这只发生在谷歌浏览器中。

8 个答案:

答案 0 :(得分:1)

我找到了这个解决方案:

创建一个新的Div,其位置设置为relative(style =“position:relative;”)

Div必须包含文本框和扩展程序

希望这对你有用

答案 1 :(得分:0)

有一个PopupPosition属性,指示日历弹出窗口应显示在BottomLeft(default), BottomRight, TopLeft, TopRight, Left or Right of the TextBox的位置。指定文本框TopLeft或TopRight位置。

<ajaxToolkit:Calendar runat="server"
    TargetControlID="Date1"
    CssClass="ClassName"
    Format="MMMM d, yyyy"
     PopupButtonID="Image1" PopupPosition="Give your desired position"  />

答案 2 :(得分:0)

原版海报可能有点晚了,但以下有两条建议,后者对我有用:

Calendar Extender Problem

答案 3 :(得分:0)

由于这是一篇旧帖子,我认为我对同一问题的解决方案可能与其他问题有关。

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

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

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

答案 4 :(得分:0)

只需将以下代码放入您的页面

即可
<style type="text/css" rel="stylesheet">
.ajax__calendar {
 position : absolute;
 }
</style>

答案 5 :(得分:0)

解决此问题的最佳方法是在页面顶部添加一个ajax程序集:

<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="ajaxToolkit" %>

不要忘记在日历扩展器上添加tagprefix为“ajaxToolkit”。如果是别的话:

例如:

<ajaxToolkit:CalendarExtender ID="txtPostingDate_CalendarExtender"
runat="server" Enabled="True" TargetControlID="txtPostingDate"
Format="MM/dd/yyyy">
                                            </ajaxToolkit:CalendarExtender>

答案 6 :(得分:0)

设置PopupPosition的{​​{1}}属性以设置CalendarExtender的位置。

您可以为CalendarExtender选择以下任意一个弹出式排名。

CalendarExtender

答案 7 :(得分:0)

我做了一个避免这个的功能,只需添加:

<script type="text/javascript" language="javascript">
    function onCalendarShown(calendar) {
        var top = $("#" + calendar._element.id).offset().top + $("#" + calendar._element.id).height() + 5;
        $("#" + calendar._container.id).css({ 'top': (top + 'px') });
    }
</script>

并在CalendarExtender中添加属性OnClientShown =“onCalendarShown”。