页面回送之后页面变量被重置了,请问怎么办

gunziyang 2013-01-28 08:12:32
页面由两个Label和两个Button,还有一个页面类的private变量a。在点击Button1时,Label显示1,且给a赋1。在点击Button2时,Label2显示a的内容。

请问为什么此时a的内容为空,而Label1.Text内容依然为1?如果要在回送之后依然保持a的变量值,应该怎么办?
...全文
348 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyl8781697 2013-01-28
  • 打赏
  • 举报
回复
引用 11 楼 gunziyang 的回复:
能解释下为什么a的内容为空,而Label1.Text内容依然为1吗?
控件label1的值使用viewstate来维护的 所以不会变
yyl8781697 2013-01-28
  • 打赏
  • 举报
回复
引用 楼主 gunziyang 的回复:
页面由两个Label和两个Button,还有一个页面类的private变量a。在点击Button1时,Label显示1,且给a赋1。在点击Button2时,Label2显示a的内容。 请问为什么此时a的内容为空,而Label1.Text内容依然为1?如果要在回送之后依然保持a的变量值,应该怎么办? b……
因为你再点击button2的时候 又把变量a初始化了一遍 你可以把变量a改为静态变量 priavte static a="";
gunziyang 2013-01-28
  • 打赏
  • 举报
回复
能解释下为什么a的内容为空,而Label1.Text内容依然为1吗?
tao526598085 2013-01-28
  • 打赏
  • 举报
回复
private static string a =""; 要想保持a的内容,要么用Session,要么a定义为静态.
gunziyang 2013-01-28
  • 打赏
  • 举报
回复
引用 8 楼 gavinl_ 的回复:
private string a =""; 这样应该就可以了
这是什么意思
csdn_gavin 2013-01-28
  • 打赏
  • 举报
回复
private string a =""; 这样应该就可以了
翔教授 2013-01-28
  • 打赏
  • 举报
回复
Session中也可以存储类对象哦
gunziyang 2013-01-28
  • 打赏
  • 举报
回复
引用 5 楼 hjywyj 的回复:
引用 4 楼 gunziyang 的回复:引用 2 楼 bdmh 的回复:用session[参数名]保持 如果要存储的是一个类对象,而不是一个值呢? 谁告诉你session只能存储值的?
难道不是只能存string?
  • 打赏
  • 举报
回复
引用 4 楼 gunziyang 的回复:
引用 2 楼 bdmh 的回复:用session[参数名]保持 如果要存储的是一个类对象,而不是一个值呢?
谁告诉你session只能存储值的?
gunziyang 2013-01-28
  • 打赏
  • 举报
回复
引用 2 楼 bdmh 的回复:
用session[参数名]保持
如果要存储的是一个类对象,而不是一个值呢?
gunziyang 2013-01-28
  • 打赏
  • 举报
回复
引用 1 楼 xiaojie_cp 的回复:
把代码贴上来
多谢提醒,以下是代码: Defualt.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="PostBackText._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
        <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Button" />
    
    </div>
    </form>
</body>
</html>

Default.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace PostBackText
{
    public partial class _Default : System.Web.UI.Page
    {
        private string a;
        
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Label1.Text = "1";
            a = "1";
        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            Label2.Text = a;
        }
    }
}

bdmh 2013-01-28
  • 打赏
  • 举报
回复
用session[参数名]保持
lovebaby 2013-01-28
  • 打赏
  • 举报
回复
把代码贴上来
  • 打赏
  • 举报
回复
加上POSTBACK 判断呢
hengren4 2013-01-28
  • 打赏
  • 举报
回复





 protected void Button1_Click(object sender, EventArgs e)     
{ 
ViewState["_a"]= (ViewState["_a"]==null?1:int.Pase(ViewState["_a"].ToString())) +1;      
Label1.Text = ViewState["_a"].ToString();         
} 





lovebaby 2013-01-28
  • 打赏
  • 举报
回复
变量被重置是因为你点击button的时候回发,重新执行一遍程序,变量又回到了初始值。 Label1的内容是靠ViewState来维护的,回发之后程序把ViewState中存储的控件值又恢复到控件了。 把Label1的ViewState禁用,你试试还会是1吗?

    private string a;
    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.EnableViewState = false;
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = "1";
        a = "1";
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        Label2.Text = a;
    }
夜色镇歌 2013-01-28
  • 打赏
  • 举报
回复
存session或者静态的字段
源码链接: https://pan.quark.cn/s/a4b39357ea24 在本研究中,我们将详细研究如何借助Python执行数据可视化,旨在剖析2018年期间中国四个主要城市——北京、上海、广州以及深圳的空气质量状况。通过绘制反映空气质量指数(AQI)与细颗粒物(PM2.5)变化趋势的图表,我们能够深入理解这些大都市全年的空气环境质量,并明确评估其优良天气所占的比重。 我们必须首先进行数据准备工作。在当前提供的压缩文件内,名为"2018天气"的文件极有可能是数据来源,其中可能收录了涉及四个城市每日空气质量监测的详细信息。这些数据通常涵盖日期、城市名称、AQI数值、PM2.5含量等核心参数。在Python编程环境中,我们惯常运用pandas库来对这类结构化数据进行高效的处理和分析。 1. **数据导入与初步处理**: - 利用`pandas.read_csv()`方法来导入存储为CSV格式的数据资料。 - 数据整理:对数据中的空白项、非正常数值进行修正,保证数据的精确性。 - 调整日期字段的格式,确保其能够适用于时间序列分析的需求。 2. **数据深度分析**: - 针对每个城市的AQI和PM2.5数据执行统计性描述,例如计算平均值、中位数、标准偏差等指标。 - 确定空气质量良好天气的天数,即那些AQI值低于75(依据中国的空气质量评估标准)的日数。 3. **数据呈现**: - 运用matplotlib或seaborn工具绘制折线图,直观展示四个城市在2018年全年的AQI和PM2.5变化动态。 - 可通过采用不同的颜色方案和线条类型来区分不同城市的数据系列。 - 添加必要的图示元素,如日期坐标轴、城市名称标注、图表标题及图例说明,以提升图表的可读...

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧