我有一个.Net类库。我想从页面后面的代码中传递一个隐藏变量,然后在页面后面的另一个代码中获取它。 请注意我没有任何设计页面(aspx页面),我可以使用表单标签和get / post方法。 我们怎么做到这一点?
注意:我想使用隐藏字段将值从1页传递到另一页。
答案 0 :(得分:1)
您可以将值保存在会话中:
Session["YourName"] = yourvalue;
在你背后的代码中执行此操作:
Session["MyValue"] = "theValueYouWantToPass";
在你的其他页面中:
string valueFromAnotherPage = Session["MyValue"].ToString();
答案 1 :(得分:1)
如果您想隐藏变量,那么您可以使用会话来存储您的对象。
,例如,
设置会话值
Session["HiddenValue"] = "something";
获取会话值
string something = (string)Session["HiddenValue"];
但请记住,会话只在有限的时间内进行(这可以通过IIS和您的Web配置进行配置)。
Here is a good resource to learn about sessions and session state
答案 2 :(得分:0)
您可以使用Session变量吗?他们不是我的偏好,但它会满足你的需要。
Session["VariableName"] = something;
object somethingOnNextPage = Session["VariableName"];
善,
丹
答案 3 :(得分:0)
你可以使用Session或HttpContext.Current.Items。如果你的值是一个临时变量,我建议使用HttpContext.Current.Item而不是session,因为它会在当前HttpContext消失但是存储的项目时消失。在会话到期之前,会话不会被清除。
Session["var"]=value;
var value=Session["var"];
HttpContext.Current.Items["var"]=value;
var value=HttpContext.Current.Items;
答案 4 :(得分:0)
跨页回发怎么样(请参阅ASP.NET网页中的跨页发布,http://msdn.microsoft.com/en-us/library/ms178139.aspx)?从未真正使用它,但它可能是一种选择。否则,您可以通过旧学校Request.Form访问隐藏的表单元素。另一个选择可能是通过将它放在母版页中,始终在每个页面上都有这个隐藏元素。然后,您将其作为公共财产公开,并可以将其设置为您心中的内容。