【问题标题】:where is a page protected variable is saved?页面保护变量保存在哪里?
【发布时间】:2012-02-20 12:34:51
【问题描述】:

我在页面中添加了一个受保护的变量,如下所示:

public partial class .... : ....
{
    protected string Lang;
    ...
}

我将请求的语言保存到其中。在设计模式下访问它,例如在标签中

<a href='<%= string.Format("/{0}/sample.aspx",Lang) %>' > Click me </a>

我想知道这个变量的值保存在哪里。在视图状态?或...

【问题讨论】:

  • 对不起,如果我问,您的问题是“如果用户选择一种语言,我可以将其保存在哪里,以便从现在开始为每个链接/请求使用该语言”?
  • @Luke no ,我只想知道当我在这个变量中设置一个值时,它的值是保存在某处还是在页面渲染后被删除

标签: asp.net


【解决方案1】:

根本不保存值,只存储私有字段或属性。它们仅在页面实例存在时才存在。

【讨论】:

  • 没错。管道看起来像这样。请求到来 => 对应的 IHttpHandler 实例(在本例中为 Page)被创建 => 如果有 ViewState 则预填充 => 方法执行 => Html 生成 => Html 刷新到客户端 => 创建的页面对象被销毁。
【解决方案2】:

您可以创建属性public string Lang{get;set} 而不是您的字段 然后使用这个&lt;%#Eval("Lang")%&gt; 从属性中获取价值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多