当前位置:编程学习 > C#/ASP.NET >>

数据更新后显示错误问题

先从数据库中取一个id,点击“查看”按钮后,显示其名字。
aspx:
<asp:Label ID="idlable" runat="server" Text=""></asp:Label>
<asp:Label ID="namelable" runat="server" Text=""></asp:Label>
<asp:Button id="button"  runat="server" Text="查看" OnClick="button_click"></asp:Button>

aspx.cs:

protected String id;
protected void Page_Load(object sender, EventArgs e)
    {
      id=//从数据库取,sql为“select top 1 id from table”
       idlable.Text=id;
    }
protected void button_click(object sender, EventArgs e)
    {
      String=//从数据库取,sql为“select name from table where id=”+id;
       namelable.Text=id;
    }

问题是,在页面生成后(Page_Load后),数据库中内容改变了,如原来的id对应的记录没了。这时取取name值,得到的结果就不是原来id对应的了。

有什么好的方式解决这个问题?如果如下:
protected void Page_Load(object sender, EventArgs e)
    {
      if (!(Page.IsPostBack))
      {
        id=//从数据库取,sql为“select top 1 id from table”
         id放入session中;   
      }
    }
protected void button_click(object sender, EventArgs e)
    { 
      String id =session中数据
      String=//从数据库取,sql为“select name from table where id=”+id;
       namelable.Text=id;
    }

这样点击刷新时,如果数据内容改变,session中的数据就取不到最新的了。

--------------------编程问答-------------------- 你点击按钮的时候在执行select top 1 id from table一次不行吗 --------------------编程问答-------------------- 没有太看明白,既然数据变化了又不要改变,也就是原来的值,

但是你后面的这一段
  如果数据内容改变,session中的数据就取不到最新的了。 

不知道你要什么结果了

你不如在page_load中把name跟id全读出来,存入控件中,点击按钮只是控件lbl的显示与不显示就行 --------------------编程问答--------------------
不好意思,没说明白。

第一次取的是id=001的记录,点击查看时,id=001的记录没有了。此时的记录是id=002,但还想idlable显示001,name显示“无记录”。而不是idlable显示002.
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,