在面板之间移动时脚本无法执行的问题。它只在按下F5时执行。 我有ProductList.aspx文件,我有TabPanels,如:
<asp:Panel ID="pProductList" runat="server">
<asp:TabContainer ID="tabProductList" runat="server" ActiveTabIndex="0" OnActiveTabChanged="tabProductList_ActiveTabChanged" AutoPostBack="true">
<asp:TabPanel ID="TabProductListCatalog" runat="server" HeaderText="<%$ Resources: Resource, TabProductListCatalog %>">
</asp:TabPanel>
<asp:TabPanel ID="TabProductListPicture" runat="server" HeaderText="<%$ Resources: Resource, TabProductListPicture %>">
</asp:TabPanel>
<asp:TabPanel ID="TabProductListList" runat="server" HeaderText="<%$ Resources: Resource, TabProductListList %>">
</asp:TabPanel>
</asp:TabContainer>
</asp:Panel>
和ProductListTable.ascx在哪里是按钮:
<th class="products text-right">
<asp:Button ID="btIntoBasketAll" runat="server" onclick="btIntoBasketAll_Click" CssClass="btn btn-basic btn-sm" ToolTip="<%$ Resources: Resource, BasketAfterInsertAllTitle %>" Text="<%$ Resources: Resource, BasketAfterInsertTitle %>" visible='true' />
</th>
脚本不能很好地工作(放在ProductListTable.ascx的底部):
<script type ="text/javascript">
if ($('#AddToBasket').is(':visible')) {
document.getElementById('<%=btIntoBasketAll.ClientID%>').style.visibility = 'visible';
} else {
document.getElementById('<%=btIntoBasketAll.ClientID%>').style.visibility = 'hidden';
}
</script>
Panel&#34; AddToBasket&#34;隐藏和显示。这有效,但只按F5。每当我在Panels之间移动时,看起来这个脚本都没有执行。
答案 0 :(得分:0)
使用:display:none而不是visibility:hidden 并显示:阻止而不是可见性:可见。
答案 1 :(得分:0)
当您刷新页面时,它会起作用,因为这是代码执行的唯一时间。
如果要在每次单击TabPanel时运行此代码,可以将函数包装在函数中,可以将该函数添加到TabPanel的onclick
属性中。
<script type ="text/javascript">
function tabPanelClicked(){
if ($('#AddToBasket').is(':visible')) {
document.getElementById('<%=btIntoBasketAll.ClientID%>').style.visibility = 'visible';
} else {
document.getElementById('<%=btIntoBasketAll.ClientID%>').style.visibility = 'hidden';
}
}
tabPanelClicked();
</script>
ProductList.aspx
<asp:TabPanel ID="TabProductListCatalog" runat="server" HeaderText="<%$ Resources: Resource, TabProductListCatalog %>" onclick="tabPanelClicked()">
将onclick
属性添加到所有TabPanels