简单的点击按钮后问题

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 了?
...全文
139 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) 这个去掉看看效果

62,046

社区成员

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

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

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

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