C# 在完成页面加载之前访问控件值
我有个问题,想知道是否有人能帮我 我正在创建一个包含一些控件的表,我想在每次回发中保存所有控件值。由于控件是在页面加载后才定义的,因此我无法通过以下方式解决问题:C# 在完成页面加载之前访问控件值,c#,asp.net,C#,Asp.net,我有个问题,想知道是否有人能帮我 我正在创建一个包含一些控件的表,我想在每次回发中保存所有控件值。由于控件是在页面加载后才定义的,因此我无法通过以下方式解决问题: object o; protected void Page_Load(object sender, EventArgs e) { o = createObject(); Create_Table(); if (Page.IsPostBack) Save_Data(); } 我认为我可以在每次回发事件开始时执行Sa
object o;
protected void Page_Load(object sender, EventArgs e)
{
o = createObject();
Create_Table();
if (Page.IsPostBack)
Save_Data();
}
我认为我可以在每次回发事件开始时执行Save_Data(),但我认为应该有更好的方法来解决我的问题
谢谢。回发完成后,变量“o”将不包含原始值。这是因为每个请求都会在服务器上创建一个新的页面对象,并且您的成员变量值将丢失。最好使用内置的“会话”属性在请求之间保存数据
请参见我的答案,回发完成后,变量“o”将不包含原始值。这是因为每个请求都会在服务器上创建一个新的页面对象,并且您的成员变量值将丢失。最好使用内置的“会话”属性在请求之间保存数据
查看我的答案既然您希望它位于页面级别,为什么不使用ViewState?由于o似乎总是使用相同的数据进行设置,因此可能不需要再设置一次,但是如果您真的想要,您可以删除if not postback内容
protected object o
{
get {
return ViewState["o"];
}
set {
ViewState["o"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack) { o = createObject(); }
Create_Table();
if (Page.IsPostBack)
Save_Data();
}
既然您希望它处于页面级别,为什么不使用ViewState?由于o似乎总是使用相同的数据进行设置,因此可能不需要再设置一次,但是如果您真的想要,您可以删除if not postback内容
protected object o
{
get {
return ViewState["o"];
}
set {
ViewState["o"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack) { o = createObject(); }
Create_Table();
if (Page.IsPostBack)
Save_Data();
}
问题是:我不希望对象作为会话变量,我更喜欢在每次加载页面时创建它。该对象是基于一些文件创建的,其主要功能是:给出表的结构和存储表的值。表总是具有相同的结构,但其值可能会有所不同,我希望在发生任何事情之前将新值保存在文件中。问题是:我不希望对象作为会话变量,我更希望在每次加载页面时都创建它。该对象是基于一些文件创建的,其主要功能是:给出表的结构和存储表的值。该表将始终具有相同的结构,但其值可能会有所不同,我希望在发生任何事情之前将新值保存到文件中。