为了账号安全,请及时绑定邮箱和手机立即绑定

ASP.NET回调问题

ASP.NET回调问题

哈士奇WWW 2018-12-06 18:48:27
后台页面代码 protected int[] result = new int[14]; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { result = RunContext.Instance.FaultsCount(); } } 前台代码 <ul> <li>正常站点:<%=result[8] %></li> </ul> <asp:Button ID="btn" runat="server" Text="单击" onclick="btn_Click" />   现象是第一次加载正常显示,点击按钮后回调result数据里的值没有了,因为是第二次加载,result初始化的代码不执行了   请问下这种问题怎么解决
查看完整描述

5 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

第一次,走了这个代码:

if (!IsPostBack)
            {
                result = RunContext.Instance.FaultsCount();
              }

当你点击button的时候,回调不走上面的代码,而且你的那个result 是实例的,也就是每次页面刷新都是新的。
这样,你可以用静态的保存,这样所有的人都可以访问这个界面都可以用到这个。
或者用session,viewstate 来保存
查看完整回答
反对 回复 2019-01-21
?
LEATH

TA贡献1936条经验 获得超6个赞

放if外面,你这没用服务器控件显示result,不会保存到ViewState里,因此每次Page_Load都要去重新取。

查看完整回答
反对 回复 2019-01-21
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

楼上是一种办法 还有种就是把 

result = RunContext.Instance.FaultsCount(); 放到btn_click时间里面也是可以的
查看完整回答
反对 回复 2019-01-21
?
慕村225694

TA贡献1880条经验 获得超4个赞

抱歉 本意是减少这个代码的执行

查看完整回答
反对 回复 2019-01-21
  • 5 回答
  • 0 关注
  • 360 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信