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

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

请问为什么此时a的内容为空,而Label1.Text内容依然为1?如果要在回送之后依然保持a的变量值,应该怎么办?
...全文
347 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或者静态的字段
内容概要:本文档系统性地汇集了电力系统、新能源并网与智能控制领域的多项关键技术研究与仿真成果,核心聚焦于三相逆变器PQ控制模型的Simulink仿真实现,并延伸涵盖功率分配、电压恢复、虚拟同步发电机(VSG)控制、虚拟阻抗建模、微电网分布式协同控制等关键环节。文档不仅提供了丰富的Simulink仿真模型,如光伏电池MPPT与恒功率切换控制、发电机故障暂态分析、直流微网并网控制等,还结合Python、C++等编程语言实现了数据分析、优化算法与系统建模,全面展示在新型电力系统稳定性分析、交直流混合配电优化、储能配置与调度等方面的综合研究能力。资源体系庞大,理论与实践紧密结合,突出科研复现与工程应用价值。; 适合人群:具备电力电子、自动控制或电气工程等相关专业背景,从事科研、教学或工程开发工作的研发人员、研究生及高年级本科生。; 使用场景及目标:①开展逆变器控制、微电网运行、分布式能源接入等方向的科研项目与高水平论文复现;②掌握PQ控制、VSG、阻抗建模、扫频分析等核心技术的建模与仿真方法;③获取成熟的仿真模型与代码资源以加速课题研究进程,提升科研效率与创新能力。; 阅读建议:建议结合文档中提及的网盘资源与公众号“荔枝科研社”提供的完整资料进行系统学习,优先选择与自身研究方向匹配的主题深入实践,注重理论推导与仿真验证相结合,充分发挥“借力科研”的优势,全面提升技术水平与科研素养。

62,269

社区成员

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

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

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

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