동적으로 생성 된 버튼 중에서 하나를 선택하는 페이지가 있습니다.Response.Redirect Nothing (ASP.NET) 및 EventValidation이 사용 가능한 경우 오류를 반환합니다.
페이지 버튼을 생성하는 데 사용되는 다음 코드를로드<div>
<asp:Repeater ID="rptrHalls" runat="server" OnItemCommand="Choose_Hall">
<ItemTemplate>
<asp:Button ID="btnChooseHall" runat="server"
CommandName="<%# Container.DataItem %>" Text="<%# Container.DataItem %>"
/>
</ItemTemplate>
</asp:Repeater>
</div>
는 :
' Show which halls they are eligible for.
Dim dbHalls As New pbu_housingDataContext
'Dim gender As String = Session("gender").ToString
Dim selectedHalls = (From sh In dbHalls.Rooms _
Where sh.gender = Session("gender").ToString _
Where sh.current_occupancy < sh.max_occupancy _
Where sh.is_available = True _
Select sh.building_name).Distinct()
rptrHalls.DataSource = selectedHalls
rptrHalls.DataBind()
동적으로 생성 버튼을 사용자가 클릭하는 다음 코드 발생하면 다음과 영문 코드는 :
Public Sub Choose_Hall(ByVal Sender As Object, ByVal e As RepeaterCommandEventArgs)
Session("Hall") = e.CommandName.ToString
Response.Redirect("select_room.aspx")
End Sub
코드를 처음 실행하면 "유효하지 않은 포스트 백/콜백 인수"라는 오류 메시지가 나타납니다. 나는 ASPX 페이지를 enableEventValidation = "false"속성으로 설정하고 다시 실행 해 보았습니다. 그것은 괜찮아요 페이지를 생성하지만 동적으로 생성 된 버튼을 클릭하면 뭔가를로드하는 것처럼 행동하고 select_hall.aspx (이 코드는 모두 하나의 페이지)로 돌아옵니다. (위에서 볼 수 있듯이) 그것은 나를 select_room.aspx로 데려 가야한다.
이 디버깅 할 때 혹시 Choose_Hall() 단계? – canon
실제로 보이지는 않지만 왜 그렇지 않은지 잘 모르겠습니다. – davemackey