ASP.net网站中的导航错误
我使用VisualStudio2008开发了一个网站。它使用活动索引从一页导航到下一页 当用户单击“下一步”按钮时,它将增加索引。根据增加的值,已导航下一页 第一页中有一个下拉列表,其中包含值(a、B、C、D) 通常,网站导航方式如下 第1页-->第2页-->第3页-->第4页等 但如果在第1页的下拉框中出现值“B”,则会导致以下流程 第1页-->第2页-->第4页 但问题是。。。网站的行为很奇怪。它给出了以下流程 对于下拉选择中的特定值选择(值“B”),将第1-->页第2-->页第3-->页第4页替换为第1-->页第2-->页第4页 当用户转到最后一页时,使用“后退”按钮再次转到前面,使用“下一步”按钮转到最后一页时,就会发生此问题。(导致此问题的多次迭代) 这里我需要两件事:ASP.net网站中的导航错误,asp.net,visual-studio-2008,web,Asp.net,Visual Studio 2008,Web,我使用VisualStudio2008开发了一个网站。它使用活动索引从一页导航到下一页 当用户单击“下一步”按钮时,它将增加索引。根据增加的值,已导航下一页 第一页中有一个下拉列表,其中包含值(a、B、C、D) 通常,网站导航方式如下 第1页-->第2页-->第3页-->第4页等 但如果在第1页的下拉框中出现值“B”,则会导致以下流程 第1页-->第2页-->第4页 但问题是。。。网站的行为很奇怪。它给出了以下流程 对于下拉选择中的特定值选择(值“B”),将第1-->页第2-->页第3-->页第
Protected Sub btn_view1_back_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btn_view1_back.Click, btn_view2_back.Click, btn_view3_back.Click
Try
Dim currentView As Int16
currentView = mvRequestorForm.ActiveViewIndex
If currentView = 3 And BSelected() = 1 Then
mvRequestorForm.ActiveViewIndex = (currentView - 2)
Else
mvRequestorForm.ActiveViewIndex = (currentView - 1)
End If
If mvRequestorForm.ActiveViewIndex = 1 Then
If (ddl_view0_WULValue() = 0) Then
'C'
CSelected() = 1
strRoleType = "chkBx_C_workunit"
ElseIf (ddl_view0_WULValue() = 1) Then
'head office'
ASelected() = 1
strRoleType = "chkBx_A_workunit"
ElseIf (ddl_view0_WULValue() = 2) Then
'B'
BSelected() = 1
strRoleType = "chkBx_B_workunit"
ElseIf (ddl_view0_WULValue() = 3) Then
'B'
BSelected() = 1
strRoleType = "chkBx_B_workunit"
End If
End If
Catch ex As Exception
End Try
End Sub
下一步按钮的代码如下:
Protected Sub btn_View0_Next_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btn_View0_Next.Click, btn_View1_Next.Click, btn_view2_Next.Click
Try
Dim currentView As Int16
currentView = mvRequestorForm.ActiveViewIndex
If currentView = 1 And BSelected = 1 Then
mvRequestorForm.ActiveViewIndex = (currentView + 2)
rfv_view2_managersEmail.Enabled = True
rev_view2_managersEmail.Enabled = True
Else
mvRequestorForm.ActiveViewIndex = (currentView + 1)
End If
If mvRequestorForm.ActiveViewIndex = 1 Then
Sub_ActivateView1()
End If
Catch ex As Exception
End Try
End Sub
如果您发布了ASelected()、BSelected()、CSelected()和ddl_view0_WULValue(),则会有更大的帮助。如果没有这些,我无法真正确定发生这种情况的原因。我的猜测是因为web应用程序中缺少状态。当您尝试在页面代码中设置变量时,对象仅在一次回发期间保留(在本例中,单击按钮)。下次单击按钮时,页面的私有变量中的所有数据都将消失
但是,在回发之间,下拉列表的状态将保持不变,因此您可以直接查询下拉列表以了解所选内容。我将其更改为ddl\u view0.SelectedValue=“B”
我假设这就是您的aspx页面的外观。请注意ListItem上使用的文本和值属性。我们将在代码中使用值属性来查找所选内容
<asp:MultiView runat="server" ID="mvRequestorForm" ActiveViewIndex="0"
<asp:View ID="View1" runat="server">
1
<asp:DropDownList ID="ddl_view0" runat="server">
<asp:ListItem Text="Item A" Value="A"></asp:ListItem>
<asp:ListItem Text="Item B" Value="B"></asp:ListItem>
<asp:ListItem Text="Item C" Value="C"></asp:ListItem>
<asp:ListItem Text="Item D" Value="D"></asp:ListItem>
</asp:DropDownList>
<asp:Button ID="btn_View0_Next" runat="server" Text="Next" />
</asp:View>
<asp:View ID="View2" runat="server">
2
<asp:Button ID="btn_View1_Next" runat="server" Text="Next" />
<asp:Button ID="btn_view1_back" runat="server" Text="Back" />
</asp:View>
<asp:View ID="View3" runat="server">
3
<asp:Button ID="btn_view2_Next" runat="server" Text="Next" />
<asp:Button ID="btn_view2_back" runat="server" Text="Back" />
</asp:View>
<asp:View ID="View4" runat="server">
4
<asp:Button ID="btn_view3_back" runat="server" Text="Back" />
</asp:View>
</asp:MultiView>
我不知道strRoleType的作用是什么,但这可能也无法正常工作。如果无法正常工作,请尝试在窗体上删除HiddenField控件,并使用该控件存储值。如果发布了ASelected()、BSelected()、CSelected()和ddl_view0_WULValue()这会有更大的帮助。如果没有这一点,我就无法真正确定它发生的原因。我的猜测是因为web应用程序中缺少状态。当您尝试在页面代码中设置变量时,对象只会在一次回发期间停留(在本例中,单击按钮)。下次单击按钮时,页面的私有变量中的所有数据都将消失
但是,在回发之间,下拉列表的状态将保持不变,因此您可以直接查询下拉列表以了解所选内容。我将其更改为ddl\u view0.SelectedValue=“B”
我假设这就是您的aspx页面的外观。请注意ListItem上使用的文本和值属性。我们将在代码中使用值属性来查找所选内容
<asp:MultiView runat="server" ID="mvRequestorForm" ActiveViewIndex="0"
<asp:View ID="View1" runat="server">
1
<asp:DropDownList ID="ddl_view0" runat="server">
<asp:ListItem Text="Item A" Value="A"></asp:ListItem>
<asp:ListItem Text="Item B" Value="B"></asp:ListItem>
<asp:ListItem Text="Item C" Value="C"></asp:ListItem>
<asp:ListItem Text="Item D" Value="D"></asp:ListItem>
</asp:DropDownList>
<asp:Button ID="btn_View0_Next" runat="server" Text="Next" />
</asp:View>
<asp:View ID="View2" runat="server">
2
<asp:Button ID="btn_View1_Next" runat="server" Text="Next" />
<asp:Button ID="btn_view1_back" runat="server" Text="Back" />
</asp:View>
<asp:View ID="View3" runat="server">
3
<asp:Button ID="btn_view2_Next" runat="server" Text="Next" />
<asp:Button ID="btn_view2_back" runat="server" Text="Back" />
</asp:View>
<asp:View ID="View4" runat="server">
4
<asp:Button ID="btn_view3_back" runat="server" Text="Back" />
</asp:View>
</asp:MultiView>
我不知道strRoleType的作用是什么,但这可能也不能正常工作。如果不能,请尝试在窗体上删除HiddenField控件,并使用该控件存储值。是否也可以发布aspx文件