2011-11-24 62 views
0

我知道这是非常基本的,但为什么母版页中的变量在子页面中失去其价值?主页面变量值丢失

例如,如果我有

[masterpage] 

public string userId 

... set userId in masterpage 


[child page] 

Master.userId // userId will always be empty? 

回答

2

因为这是一个无国籍的范例。如果你想保持回发之间的那些价值观,你只有几个选择:

  1. 会话状态
  2. 视图状态
  3. 数据库
  4. 的JavaScript /隐藏值
+0

由于某种原因,我想到马像继承一样的页面... – chobo

+0

@chobo真正的错误是假设继承意味着你的变量在后发之间仍然存在。他们不。那部分你永远无法摆脱 –

3

不要使用母版页来存储有关用户的信息 - 你的页面重新加载后不会持续存在。

如果您需要存储一些用户特定信息,请使用Session对象来存储它。

Here就是一个例子。

1

我说试试使用Session["userId"]="..."和otherpage.aspx =>Session[userId].ToString()将得到值