none
ASP.NET页面变量的问题 RRS feed

  • 问题

  • ASP.NET页面上定义的许多控件有保存值的功能,页面回传时,值还在
    但是ASP.NET页面上定义的变量,首次访问时给他赋了值,但是页面回传时,该变量又变成null了,上次赋得值没有保存下,我想保存下变量的值怎么做呢
    2009年9月14日 2:09

答案

  • 使用 ViewState, Session, Application, Cache 来记录你的变量,如

    赋值 ViewState["Id"] = 1;
    取值 int id = (int)ViewState["Id"];

    其它同理

    知识改变命运,奋斗成就人生!
    • 已标记为答案 m s 2009年9月14日 2:39
    2009年9月14日 2:14
    版主
  • 你好,页面Page对象每次访问都是一个新的Page对象,你可以使用static保存值(不建议),Page_Load中赋值,或者使用ViewState,Hide控件保存!
    jon.valett@gmail.com
    • 已标记为答案 m s 2009年9月14日 2:52
    2009年9月14日 2:51
    版主

全部回复

  • 使用 ViewState, Session, Application, Cache 来记录你的变量,如

    赋值 ViewState["Id"] = 1;
    取值 int id = (int)ViewState["Id"];

    其它同理

    知识改变命运,奋斗成就人生!
    • 已标记为答案 m s 2009年9月14日 2:39
    2009年9月14日 2:14
    版主
  • 使用 ViewState, Session, Application, Cache 来记录你的变量可以做到,我已经实现
    但是我想问
    既然页面上的控件有保存值的功能
    变量就更应该有这个功能了
    不知道页面上的控件把他们的值保存到什么里面,是ViewState里面吗
    不知道这样做是否有意义
    2009年9月14日 2:32
  • 对,服务器控件就是借助 ViewState 来做状态保持的
    知识改变命运,奋斗成就人生!
    2009年9月14日 2:37
    版主
  • 谢谢!!
    2009年9月14日 2:39
  • 你好,页面Page对象每次访问都是一个新的Page对象,你可以使用static保存值(不建议),Page_Load中赋值,或者使用ViewState,Hide控件保存!
    jon.valett@gmail.com
    • 已标记为答案 m s 2009年9月14日 2:52
    2009年9月14日 2:51
    版主