开发者

ASP.NET get hidden value from list view on ItemCommand

开发者 https://www.devze.com 2022-12-18 13:13 出处:网络
I have LinkButton and HiddenField in a list view. I want to get the hidden value from HiddenField, so I can store it in Session and when a LinkButton is clicked it transfer the hidden value ( stored i

I have LinkButton and HiddenField in a list view. I want to get the hidden value from HiddenField, so I can store it in Session and when a LinkButton is clicked it transfer the hidden value ( stored in Session) to another page. But I get this error message "Object reference not set to an instance of an object." Here's the function:

    Protected Sub lvTimeSheet_ItemCommand(ByVal sender As Object, ByVal e As System.Web.UI.开发者_如何学JAVAWebControls.ListViewCommandEventArgs) Handles lvTimeSheet.ItemCommand

    Dim id As HiddenField = TryCast(e.Item.FindControl("hfTimeSheetId"), HiddenField)
    Dim myId As String = id.Value.ToString
    Session("myId") = myId
    Server.Transfer("Destination.aspx")

End Sub

The mark-up

</asp:LinkButton><asp:HiddenField ID="hfTimeSheetId1" runat="server" Value='<%# Eval("hfTimeSheetId") %>' />

Every time the LinkButton is clicked, it causes error with above error message. Thank you for any input.


My guess would be that the FindControl isn't finding the hfTimeSheetId control within the row. Do you have it designated as a managed control (i.e. runat="server")?

Also, it might help if you provided the ASPX code to see how you're defining the controls.


The FindControl is returning null, hense the exception. Try changing it to:

Dim id As HiddenField = TryCast(e.Item.FindControl("hfTimeSheetId1"), HiddenField)
0

精彩评论

暂无评论...
验证码 换一张
取 消