简单的点击按钮后问题

zjroland 2011-09-19 06:09:47
前台 <asp:Button ID="btnAddBusiness" Width="120px" runat="server" OnClick="btnAddBusiness_Click" Text="Submit" />

public string fileName;
protected void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
fileName = "1";

}

}


protected void btnAddBusiness_Click(object sender, EventArgs e)
{
Response.Write(fileName); // 怎么点击按钮后 fileName 变成null 了?

}

怎么点击按钮后 fileName 变成null 了?
...全文
175 20 打赏 收藏 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
王者天杰 2011-09-20
  • 打赏
  • 举报
回复
告诉LZ一个最简单的方法。把filename设为表态变量就行了。你试试!!!
十二点咖啡 2011-09-20
  • 打赏
  • 举报
回复
帮顶了
萧炎 2011-09-20
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 zyloveyrf 的回复:]
fileName赋一个初始值不就行了么

C# code


private string fileName="XX";

protected void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
ViewState["FileName"]= "1";
……
[/Quote]
修改下

private string fileName="XX";

protected void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
FileName= "1";

}

}


protected void btnAddBusiness_Click(object sender, EventArgs e)
{
Response.Write(this.FileName);
}

萧炎 2011-09-20
  • 打赏
  • 举报
回复
fileName赋一个初始值不就行了么

private string fileName="XX";

protected void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
ViewState["FileName"]= "1";

}

}


protected void btnAddBusiness_Click(object sender, EventArgs e)
{
Response.Write(this.FileName);
}


cf_nxcxy 2011-09-20
  • 打赏
  • 举报
回复
private string fileName;

public string FileName
{
get { return ViewState["FileName"]; }
set { ViewState["FileName"]= value; }
}

protected void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
ViewState["FileName"]= "1";

}

}


protected void btnAddBusiness_Click(object sender, EventArgs e)
{
Response.Write(this.FileName); // 怎么点击按钮后 fileName 变成null 了?

}
zk11223344 2011-09-20
  • 打赏
  • 举报
回复
page_load里存ViewState,按钮事件里取viewstate
  • 打赏
  • 举报
回复
回發數據丟失 支持一樓
posefooler 2011-09-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zy64891635 的回复:]

<asp:Label ID="Label1" runat="server" Text="Label" Visible="false"></asp:Label>
label1.text=filename;
[/Quote]
楼上正解,也可以把赋值语句放在!IsPostBack外
happypo2009 2011-09-20
  • 打赏
  • 举报
回复
走一下断点你就可以了
988kook 2011-09-20
  • 打赏
  • 举报
回复
用viewstate
zjroland 2011-09-19
  • 打赏
  • 举报
回复
赋值写到Page_Load这个外边?不可能啊,除非是常数。
988kook 2011-09-19
  • 打赏
  • 举报
回复
你这思想是js的思想 net 这里好像不能这样~ 我也遇到过 我是把赋值写到Page_Load这个外边
sanjiawan 2011-09-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zjroland 的回复:]
我明白了。但是 按了 button之后,他又执行了 page_load,结果把我的数据给覆盖了。因为我原始的意思是取上载的图片文件名:
public string fileName;

protected void Page_Load(object sender, System.EventArgs e)
{
HttpFileCollection file = Reques……
[/Quote]

单击button后自然会重新刷新页面 也就会进入Page_Load事件 如果你不想覆盖就放在 if (!Page.IsPostBack)内 如果你想覆盖就放在 if (!Page.IsPostBack)外
988kook 2011-09-19
  • 打赏
  • 举报
回复
你可以把赋值写到ispost外边 可以加上 if(filename==null){filename=1;}
zjroland 2011-09-19
  • 打赏
  • 举报
回复
我明白了。但是 按了 button之后,他又执行了 page_load,结果把我的数据给覆盖了。因为我原始的意思是取上载的图片文件名:
public string fileName;

protected void Page_Load(object sender, System.EventArgs e)
{
HttpFileCollection file = Request.Files;

for (int i = 0; i < file.Count; i++)
{
if (fileName == null)
{
fileName = file[i].FileName;
}

}
}

一开始选了图片后确实 fileName = "123.jpg",但是点了 button之后,程序又回到 protected void Page_Load, 这时的 fileName 为 null 了,怎么办?
988kook 2011-09-19
  • 打赏
  • 举报
回复
!Page.IsPostBack 这里边的只有第一次访问进去 你刷新的时候不进去 好像是这样 你可以debug一下
zy64891635 2011-09-19
  • 打赏
  • 举报
回复
<asp:Label ID="Label1" runat="server" Text="Label" Visible="false"></asp:Label>
label1.text=filename;
zy64891635 2011-09-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yutian_31 的回复:]
回发造成的。可以把if (!Page.IsPostBack) 这个去掉看看效果
[/Quote]

+1
摩羯伙夫 2011-09-19
  • 打赏
  • 举报
回复
ls+1

还有就是把fileName值放到隐藏控件里面,然后读取
yutian_31 2011-09-19
  • 打赏
  • 举报
回复
回发造成的。可以把if (!Page.IsPostBack) 这个去掉看看效果
代码下载链接: https://pan.quark.cn/s/37189d21223e STM8S103F3属于STMicroelectronics公司研发的STM8S系列微控制器,该芯片在众多嵌入式系统设计中得到普遍应用,尤其是在对低能耗与高性能有较高要求的场景中。这款微控制器内置8位中央处理器,配备了完整的数字信号处理工具集,涵盖了定时器单元、串行通信端口以及多种外部设备接口。 无线供电方案是基于STM8S103F3构建的,其核心目标在于达成无需物理接触的电能传输。这项技术主要运用电磁感应理论,借助发送端与接收端线圈间磁场的变化来实现能量传递。在无线供电架构中,STM8S103F3通常担任控制核心的角色,负责监督并调节充电环节中的各项指标,以此确保操作安全并提升工作效率。 1. **ADC(模拟数字转换器)**:在无线供电系统中,ADC负责将探测到的电压或电流信号转换为数字形式,使微控制器能够进行解析与操控。例如,它可用于测量接收端线圈的电压值,借此评估充电状况及效能。 2. **PWM(脉宽调制)**:PWM是调控电源输出的常用手段,通过变更脉冲宽度来控制平均功率输出。在无线供电系统中,PWM或许会用于调节发射端功率的输出水平,以应对不同的充电需求及距离差异。借助精准控制PWM信号,能够维持充电电流的稳定,进而保障设备安全进行充电。 3. **软件体系**:无线供电方案可能由多个组成部分构成,例如初始设定、异常识别、通信规约处理等。这些组件通过周密规划的架构协同运作,共同完成无线供电的全部功能。 4. **安全功能**:方案可能集成过温、过压、过流防护机制,一旦侦测到非正常情形,可自动中断电源供应或降低功率输出,以避免设备受损。 5. **通信规约**:无...

62,270

社区成员

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

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

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

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