gpt4 book ai didi

asp.net - 如何重新定位 asp.net ajax ValidatorCalloutExtender

转载 作者:行者123 更新时间:2023-12-02 14:26:25 25 4
gpt4 key购买 nike

我正在使用 AjaxControlToolkit 版本 3.0.20299.9 中的 ValidatorCalloutExtender。验证发生在设置了 resizing=0 的浏览器窗口中。弹出框大部分位于可 window 口之外 - 位于右侧。

它已使用 AjaxControlToolkit 版本 1.0.10618.0 正确定位。它实际上漂浮在文本框上方,弹出窗口的右侧位于可 window 口的右侧,边距约为 5 像素。由于我们升级了 AjaxControlToolkit 的版本,因此它的呈现方式似乎有所不同。有谁知道我需要做什么才能使弹出窗口正确定位?我一直在尝试 .ajax__validatorcallout_* css 类,但我更改的所有内容似乎确实搞砸了显示。

最佳答案

我想出了这个。我想我会为感兴趣的人发布答案。 AjaxControlToolkit 的两个版本之间的呈现有所不同。为了重新定位 ValidatorCallout 窗口,我发现以下方法效果最好。

您必须覆盖工具包使用您自己的自定义样式生成的所有 .ajax__validatorcallout_* css 类。这很奇怪,但似乎您必须覆盖每种样式才能使其正常工作。我使用 Firefox Web 开发工具栏来发现正在生成的样式,然后按如下方式覆盖它们。

<style>

.CustomValidator {position:relative;margin-left:-80px;}

.CustomValidator div {border:solid 1px Black;background-color:LemonChiffon; position:relative;}

.CustomValidator td {border:solid 1px Black;background-color:LemonChiffon;}

.CustomValidator .ajax__validatorcallout_popup_table {display:none;border:none;background-color:transparent;padding:0px;}

.CustomValidator .ajax__validatorcallout_popup_table_row {vertical-align:top;height:100%;background-color:transparent;padding:0px;}

.CustomValidator .ajax__validatorcallout_callout_cell {width:20px;height:100%;text-align:right;vertical-align:top;border:none;background-color:transparent;padding:0px;}

.CustomValidator .ajax__validatorcallout_callout_table {height:100%;border:none;background-color:transparent;padding:0px;}

.CustomValidator .ajax__validatorcallout_callout_table_row {background-color:transparent;padding:0px;}

.CustomValidator .ajax__validatorcallout_callout_arrow_cell {padding:8px 0px 0px 0px;text-align:right;vertical-align:top;font-size:1px;border:none;background-color:transparent;}

.CustomValidator .ajax__validatorcallout_callout_arrow_cell .ajax__validatorcallout_innerdiv {font-size:1px;position:relative;left:1px;border-bottom:none;border-right:none;border-left:none;width:15px;background-color:transparent;padding:0px;}

.CustomValidator .ajax__validatorcallout_callout_arrow_cell .ajax__validatorcallout_innerdiv div {height:1px;overflow:hidden;border-top:none;border-bottom:none;border-right:none;padding:0px;margin-left:auto;}

.CustomValidator .ajax__validatorcallout_error_message_cell {font-family:Verdana;font-size:10px;padding:5px;border-right:none;border-left:none;width:100%;}

.CustomValidator .ajax__validatorcallout_icon_cell {width:20px;padding:5px;border-right:none;}

.CustomValidator .ajax__validatorcallout_close_button_cell {vertical-align:top;padding:0px;text-align:right;border-left:none;}

.CustomValidator .ajax__validatorcallout_close_button_cell .ajax__validatorcallout_innerdiv {border:none;text-align:center;width:10px;padding:2px;cursor:pointer;}

</style>

注意:我将第一个 .CustomValidator {position:relative;margin-left:-80px;} 行添加到生成的类中。我还分解了 .CustomValidator div、.CustomValidator td,以便我可以添加position:relative;到 div 而不是 td。 margin-left:-80px 是我向左移动所有内容所需的。

然后只需将 CustomValidator CssClass 粘贴到您的 ValidatorCalloutExtender 中即可:

<cc1:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" TargetControlID="MyValidatorControl" CssClass="CustomValidator">

关于asp.net - 如何重新定位 asp.net ajax ValidatorCalloutExtender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/417214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com