页面cs代码,有一个字段,点击button以后,执行一段程序,这个程序里要用到这个字段。但是在执行这段代码之前,页面会自动刷新,那个字段会被重新初始化,请问这个问题如何解决?
谢谢!
25 个解决方案
#1
用html控件不就好了
#2
ajax
#3
把字段保存到HiddenField
#4
button如果不是submit的话页面应该不会刷新吧?
#5
这样的话岂不是要用js写后台代码了。执行click的后台代码我是用c#写的,而且还要用到页面cs文件里的一个字段。
#6
不要在Page_Load中直接初始化
if(!this.IsPostBack)
{
初始化
}
这样刷新也没关系了
if(!this.IsPostBack)
{
初始化
}
这样刷新也没关系了
#7
把字段的值保存到HiddenField
#8
就这个了
#9
使用Ajax控件,效果就跟没刷新一样……
#10
没用的 字段还是被重新初始化了
#11
整个页面重新初始化了,里面的字段也就重新初始化了。
#12
有个名词叫 ViewState
#13
哦, 微软不是提供了一大堆AJAX控件, lz可以试试
#14
不太明白楼主的意思
你说的是.net控件按钮要刷新那就换html
你说的是.net控件按钮要刷新那就换html
#15
up up up up up up
#16
是的,这个东西是维持页面的状态的,可以用。
#17
没用的 字段还是被重新初始化了
========>
你没有用ViewState来保存状态.
========>
你没有用ViewState来保存状态.
#18
两个方式啊。如果是asp:button控件,,用onclientclick实现客户端方法,用onserverclick实现服务端方法 如果不刷新在onclientclick事件末尾return;input:button同理。如果是无刷新数据交互用ajax方法
#19
我定义了一个类,原本这个类是这个页面里的字段,现在用viewstate的话,怎么写法。
我下面这样的写法报错了。
ClassApple apple = new ClassApple();
ViewState["Apple"] = apple;
//取值的时候:
ClassApple apple = (ClassApple)ViewState["Apple"];
#20
在你的类 上面 加上
[Serializable]
[Serializable]
#21
灰太狼 这个写到哪里?下面这样吗?
public class [Serializable] ClassApple()
{
}
#22
[Serializable]
public class ClassApple()
{
}
是写到上面的
#23
同意
#24
简单的话就用UpdatePanel, 安装一个MS的Ajax extension就可以。
或者用Ajax,当然开发量会比较大。
或者用Ajax,当然开发量会比较大。
#25
遇到了同样的问题,楼主可以把想在CS文件中想保存的字段,在网页中用一个隐藏的label保存就可以了。
#1
用html控件不就好了
#2
ajax
#3
把字段保存到HiddenField
#4
button如果不是submit的话页面应该不会刷新吧?
#5
这样的话岂不是要用js写后台代码了。执行click的后台代码我是用c#写的,而且还要用到页面cs文件里的一个字段。
#6
不要在Page_Load中直接初始化
if(!this.IsPostBack)
{
初始化
}
这样刷新也没关系了
if(!this.IsPostBack)
{
初始化
}
这样刷新也没关系了
#7
把字段的值保存到HiddenField
#8
就这个了
#9
使用Ajax控件,效果就跟没刷新一样……
#10
没用的 字段还是被重新初始化了
#11
整个页面重新初始化了,里面的字段也就重新初始化了。
#12
有个名词叫 ViewState
#13
哦, 微软不是提供了一大堆AJAX控件, lz可以试试
#14
不太明白楼主的意思
你说的是.net控件按钮要刷新那就换html
你说的是.net控件按钮要刷新那就换html
#15
up up up up up up
#16
是的,这个东西是维持页面的状态的,可以用。
#17
没用的 字段还是被重新初始化了
========>
你没有用ViewState来保存状态.
========>
你没有用ViewState来保存状态.
#18
两个方式啊。如果是asp:button控件,,用onclientclick实现客户端方法,用onserverclick实现服务端方法 如果不刷新在onclientclick事件末尾return;input:button同理。如果是无刷新数据交互用ajax方法
#19
我定义了一个类,原本这个类是这个页面里的字段,现在用viewstate的话,怎么写法。
我下面这样的写法报错了。
ClassApple apple = new ClassApple();
ViewState["Apple"] = apple;
//取值的时候:
ClassApple apple = (ClassApple)ViewState["Apple"];
#20
在你的类 上面 加上
[Serializable]
[Serializable]
#21
灰太狼 这个写到哪里?下面这样吗?
public class [Serializable] ClassApple()
{
}
#22
[Serializable]
public class ClassApple()
{
}
是写到上面的
#23
同意
#24
简单的话就用UpdatePanel, 安装一个MS的Ajax extension就可以。
或者用Ajax,当然开发量会比较大。
或者用Ajax,当然开发量会比较大。
#25
遇到了同样的问题,楼主可以把想在CS文件中想保存的字段,在网页中用一个隐藏的label保存就可以了。