嘿我正在寻找帮助,因为我的应用程序导航有问题。基本上,该网站被分成Divs,并有一个保存/下一步按钮,应该将用户带到下一个Div(屏幕)。客户端事件是JavaScript。问题是当我单击按钮而不是单个屏幕时,整个应用程序出现在屏幕上。有人可以建议如何隐藏其他Div,以便只显示当前的Div。我的主要div被称为divOverview然后我的下一个屏幕被称为divContactDetails然后等等另外9个屏幕(div)。谢谢
<dx:LayoutItem ColSpan="1" ShowCaption="False">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer runat="server" Width="100%">
<dx:ASPxButton ID="btnSave" runat="server" AutoPostBack="False" Text="Save/Next" Theme="Office2010Blue" OnClick="btnSave_Click">
<ClientSideEvents Click="function(s,e) {javascript:showonlyonev2('divContactDetails');}" />
</dx:ASPxButton>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
带有保存按钮的on_click是
背后的VB代码 If FocusSet = True Then
ErrDetails.ForeColor = Drawing.Color.Red
ErrDetails.Height = 20 * errCount
' Show the Overview screen at the beginning
If (Not ClientScript.IsStartupScriptRegistered("showonlyonev2")) Then
Page.ClientScript.RegisterStartupScript _
(Me.GetType(), "showonlyonev2", "showonlyonev2('divContactDetails');", True)
End If
If (Not ClientScript.IsStartupScriptRegistered("showonlyonev2")) Then
Page.ClientScript.RegisterStartupScript _
(Me.GetType(), "showonlyonev2", "showonlyonev2('divContactDetails');", True)
End If
Return
End If
JavaScript代码(编辑):
<script type="text/javascript">
function showonlyonev2(thechosenone) {
var newboxes = document.getElementsByTagName("div");
for (var x = 0; x < newboxes.length; x++) {
name = newboxes[x].getAttribute("class");
if (name == 'newboxes-2') {
if (newboxes[x].id == thechosenone) {
if (newboxes[x].style.display == 'block') {
newboxes[x].style.display = 'none';
}
else {
newboxes[x].style.display = 'block';
}
} else {
newboxes[x].style.display = 'none';
}
}
}
}
答案 0 :(得分:0)
我似乎修复了可见性问题。我简单地删除了VB代码的第二部分......
If (Not ClientScript.IsStartupScriptRegistered("showonlyonev2")) Then
Page.ClientScript.RegisterStartupScript _
(Me.GetType(), "showonlyonev2", "showonlyonev2('divContactDetails');", True)
End If
Return
End If
现在导航效果更好,但现在在其他代码上获得Null References。编程的乐趣!