数据更新后显示错误问题
先从数据库中取一个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