2012-03-07 64 views
0

我需要在.aspx页面中绑定HiddenField控件的值,以将其作为存储过程的参数传递。该值将包含一个Session变量值。从HiddenField绑定值asp.net

对于一个正常的文本框我做的:

<asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>' />

对于HiddenField我会做一些以同样的方式,所以我可以以某种方式使用绑定(“用户名”)和检索通过了它的价值会话变量。

这怎么办?

回答

1

如果变量已存在于会话变量中,则不需要将变量存储在隐藏字段中。

请看看这篇文章使用在asp.net会话状态的正确方法:

http://msdn.microsoft.com/en-us/library/ms178581.aspx

+0

但我无法达到其他位置的值。ListView绑定表单中的值并将其保存在cs类中。如果我没有在表单中传递Session变量的值,我不知道如何达到它。 – user1121487 2012-03-07 23:58:33

+0

会话状态从一个页面转到另一个页面,并且可在内存中使用,而无需将其存储在隐藏字段中。你从最初得到它的地方分配它 - 也就是说。数据库或输入字段,然后根据需要继续访问它。我不能解释它比我的答案中的链接更好。 – evasilchenko 2012-03-08 00:08:26

+0

是的,我知道这一点,但如果我不能从cs类访问会话。该类是“独立”的,只能从存储在属性中的参数获取值。我无法检查该类中的任何Session变量,我需要从ListView传递Session变量的值。 – user1121487 2012-03-08 00:12:56

0

你可以使用这个类来从你的类得到所需要的会话值

Public Class Sessions 

Public Shared Function GetValueOfSession(ByVal SessionName As String) 
    If HttpContext.Current.Session(SessionName) Is Nothing Then 
     Return Nothing 
    Else 
     Return HttpContext.Current.Session(SessionName).ToString 
    End If 
End Function 

End Class