我有一個頁面,其中一個從一個動態生成的按鈕的選擇中選擇。的ASPX代碼如下: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
當我第一次嘗試運行代碼時收到錯誤消息「Invalid postback/callback argument」。我將ASPX頁面設置爲具有enableEventValidation =「false」屬性,並嘗試再次運行它。它生成的頁面正常,但是當我點擊一個動態生成的按鈕時,它的行爲就像加載了一些東西,然後讓我回到select_hall.aspx(頁面中的所有代碼都是一個),當(如上所示)它應該帶我到select_room.aspx。
當你調試這個你有沒有進入Choose_Hall()? – canon 2011-03-07 15:34:14
它似乎並不是,但我不確定它爲什麼不是? – davemackey 2011-03-07 15:41:39