javascript - 在 asp:panel 中以 display:none 开头时,Ajax ComboBox 无法正确呈现
问题描述
我在 asp:panel 中有一个 Ajax ComboBox。该面板分配了我的 CssClass="hide",其中包括“display:none”。
用户可以单击另一个触发 JavaScript 函数的元素,该函数在 CssClass="hide" 和 CssClass="show" 之间切换面板(“show”包括“width:100%”,这会导致面板中的所有控件显示,除了组合框上的箭头图像
如果我将面板设置为以 CssClass="show" 开始生活,一切都会正确显示。然后我可以使用该函数将其更改为 CssClass="hide" 然后返回 CssClass="show" 一切看起来仍然正确!
感谢您的帮助。
--------- 我的 ASPX --------
<ajaxToolkit:TabContainer ID="tabcontainerProject" runat="server" Width="100%" ActiveTabIndex="1">
<ajaxToolkit:TabPanel ID="tpnlUpdateInformation" runat="server" HeaderText="Update Information">
<ContentTemplate>
<span id="spanPositions" class="lnkempty" onclick="togglepnlPositions();">Project Team</span>
<br />
<asp:Panel ID="pnlPositions" runat="server" cssclass="hide">
<ajaxToolkit:ComboBox ID="cbxOwner" runat="server"
DataSourceID="sqlOwner" DataTextField="Owner" DataValueField="Owner"
DropDownStyle="DropDown" AutoCompleteMode="SuggestAppend"
ItemInsertLocation="OrdinalText" CssClass="AquaStyle"
AutoPostBack="false">
</ajaxToolkit:ComboBox>
</asp:Panel>
</ContentTemplate>
</ajaxToolkit:TabPanel>
</ajaxToolkit:TabContainer>
--------- 我的 JavaScript --------
var stickypnlPositions = 0
function togglepnlPositions() {
pnlPositions = document.getElementById('MainContent_tabcontainerProject_tpnlUpdateInformation_pnlPositions');
if (stickypnlPositions === 0) {
pnlPositions.setAttribute('class', 'show');
stickypnlPositions = 1;
} else {
pnlPositions.setAttribute('class', 'hide');
stickypnlPositions = 0;
}
}
--------- 我的 CSS --------
.AquaStyle .ajax__combobox_inputcontainer .ajax__combobox_textboxcontainer input {
margin: 0;
background-image: url(../Images/Ajax/Aqua/aqua-bg.gif);
background-position: top left;
border: 0px none;
padding: 2px 0px 0px 8px;
/* font-size: 11px; */
font-size: 13px;
height: 17px;
width: 150px;
}
.AquaStyle .ajax__combobox_inputcontainer .ajax__combobox_buttoncontainer button {
background-image: url(../Images/Ajax/Aqua/aqua-arrow.gif);
background-position: top left;
border: 0px none;
height: 19px;
width: 19px;
vertical-align: top;
}
.AquaStyle .ajax__combobox_itemlist {
border-color: #000000;
background-color: #FFFFFF;
}
解决方案
推荐阅读
- amazon-web-services - 从超过 X 天的 S3 存储桶中删除文件夹、子文件夹和所有文件
- apache-spark - 将 Hive 存储与 Spark 集群(计算层)分离
- r - 如何使用 If-else?
- postman - 在 Postman 测试脚本中验证响应
- mysql - 使用 Prisma 执行 MySQL 查询耗时过长
- pdf - 我如何在java中使用apache poi和itext 7和pdf calligraph将docx转换为pdf?
- c# - 如何从 WW 对象生成 CSV 文件?
- css - 使用 1kb .png 图像作为背景图像(重复时)是否可行?
- node.js - 如何确定已编译本机模块的 ABI 版本(和其他详细信息)?
- android - 是否可以在 android 设备上让用户看到 3 个或更多应用程序?