我是编程新手,所以请温柔一点。我正在制作一个小交易或无交易风格的游戏,你可以在其中打开盒子。它们位于更新面板中,并且这些框是使用 CSS 针对不同尺寸的屏幕进行设置的。一切都很完美,但是当单击一个框并且更改 ImageUrl 时,CSS 类不起作用。会不会跟更新面板有关系?这是我的代码:
<asp:UpdatePanel ID="upPnlBoxes" style="margin-top:-10px;" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
<Triggers>
<asp:AsyncPostBackTrigger controlid="btnBox1" eventname="Click" />
<asp:AsyncPostBackTrigger controlid="btnBox2" eventname="Click" />
</Triggers>
<ContentTemplate>
<div style="position:absolute; top: 420px;">
<asp:ImageButton ID="btnBox1" visible="false" class="playboxsize" commandArgument="1" ImageUrl="~/files/images/icons/boxes/MONMClosedBox1.png" runat="server" onClick="btnBoxSelected_Click" />
<asp:ImageButton ID="btnBox2" visible="false" class="playboxsize" commandArgument="2" ImageUrl="~/files/images/icons/boxes/MONMClosedBox2.png" runat="server" onClick="btnBoxSelected_Click" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
VB.Net
If session("round")="chooseBoxes" Then
Select Case boxNo
Case"1"
btnBox1.imageUrl="~/files/images/icons/boxes/MONMOpenBox" & session("BoxValue1") & ".png"
btnBox1.enabled="false"
session("ValueOpened")=session("BoxValue1")
session("BoxValue1")=0
Case"2".....
End Select
End If
您可以尝试更改框的样式以强制重绘元素。
Case"1"
btnBox1.imageUrl="~/files/images/icons/boxes/MONMOpenBox" & session("BoxValue1") & ".png"
btnBox1.enabled="false"
btnBox1.style.width = "100%"; // Trigger reflow
setTimeout(function(b){ b.style.width = "initial"; }, 10, btnBox1); // Reset width
session("ValueOpened")=session("BoxValue1")
session("BoxValue1")=0
Case"2".....