我想弄清楚如何在itemCommand
块中设置ID变量,然后在PagePropertiesChanged
块中共享它。
我想知道这是否可行?
这是我想要做的简化示例,
Public Shared ID As Integer
Private Sub DataListCategories_ItemCommand(source As Object, e As DataListCommandEventArgs) Handles DataListCategories.ItemCommand
If (e.CommandName.Equals("ClickCategory")) Then
ID = e.CommandArgument
End if
End sub
Private Sub ListViewGallery_PagePropertiesChanged(sender As Object, e As EventArgs) Handles ListViewGallery.PagePropertiesChanged
Me.ListViewGallery.DataSource = Dal.GetPhotographyByCategory(ID)
Me.ListViewGallery.DataBind()
End Sub
答案 0 :(得分:0)
您似乎试图在回发之间将ID保存在共享变量(C#中的静态)中,但您必须了解ASP.NET中共享/静态变量的性质。
Lifetime of ASP.NET Static Variable
详细介绍了这一点您可以使用Session对象来持久保存ID,如:
Session("ID") = ID
或使用类似ASP.NET隐藏字段的内容
<asp:hiddenfield id="IDField" runat="server" value="0"/>
设置如下:
IDField.Value = ID
答案 1 :(得分:0)
我对你说的话感到困惑。我想你是说在html中添加一个隐藏字段,并使用findcontrol在代码后面调用它?
不能以其他方式完成吗?