我正在使用CalendarExtender控件,它是分配文本框,CalendarExtender正好在文本框下方,但我的问题是我在页面底部有一个文本框,所以需要向下滚动并选择文本框。 这是我的问题,当我滚动并选择文本框时,我的日历显示在屏幕上方的某些位置,而不是所有正确的位置。 我更改分辨率以避免滚动,而不是很好。但我的页面需要强制滚动。
请任何人给我解决方案
这只发生在谷歌浏览器中。
答案 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)
原版海报可能有点晚了,但以下有两条建议,后者对我有用:
答案 3 :(得分:0)
由于这是一篇旧帖子,我认为我对同一问题的解决方案可能与其他问题有关。
以上版本是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”。