用的是Timer控件来刷新的。但是发现这个太占CPU了。多开几个就完蛋了。大家看看怎么处理。在不断的链接数据库。不是断开试么
protected void Page_Load(object sender, EventArgs e)
{
}
public void upload()
{
int nu = 0;
Random random = new Random();
for (int i = 0; i < ListTest().Count; i++)
{
nu = random.Next(ListTest().Count);
this.Label1.Text = ListTest()[nu].ToString();
}
}
public List<string> ListTest()
{
List<string> list = new List<string>();
Tab_Random zhinan_class = (Tab_Random)Tab_RandomManager.Instance.GetModelTab_RandomByWhere("numid=0 order by newid()");
list.Add(zhinan_class.Daqu);
return list;
}
protected void Button1_Click(object sender, EventArgs e)
{ this.Timer1.Enabled = !this.Timer1.Enabled;
Label2.Text = "".ToString(); }
protected void Timer1_Tick(object sender, EventArgs e)
{
upload();
}
protected void asdasda_Click(object sender, EventArgs e)
{
Tab_Random zhinan = (Tab_Random)Tab_RandomManager.Instance.GetModelTab_RandomByWhere("daqu='" + Label1.Text.ToString() + "'");
string dadada = zhinan.Daqu.ToString();
AnswerDAL.Intance.ModifyTab_Random(dadada);
}
protected void Button2_Click(object sender, EventArgs e)
{
AnswerDAL.Intance.ModifyTab_RandomAll();
} protected void Timer2_Tick(object sender, EventArgs e)
{
uploadone();
} public void uploadone()
{
int nu = 0;
Random random = new Random();
for (int i = 0; i < ListTest().Count; i++)
{
nu = random.Next(ListTest().Count);
this.Label2.Text = ListTestone()[nu].ToString();
}
} public List<string> ListTestone()
{
List<string> list = new List<string>();
Tab_Random zhinan_class = (Tab_Random)Tab_RandomManager.Instance.GetModelTab_RandomByWhere("numid=0 and daqu='" + Label1.Text .ToString()+ "' order by newid()");
list.Add(zhinan_class.Name);
return list;
}
protected void Page_Load(object sender, EventArgs e)
{
}
public void upload()
{
int nu = 0;
Random random = new Random();
for (int i = 0; i < ListTest().Count; i++)
{
nu = random.Next(ListTest().Count);
this.Label1.Text = ListTest()[nu].ToString();
}
}
public List<string> ListTest()
{
List<string> list = new List<string>();
Tab_Random zhinan_class = (Tab_Random)Tab_RandomManager.Instance.GetModelTab_RandomByWhere("numid=0 order by newid()");
list.Add(zhinan_class.Daqu);
return list;
}
protected void Button1_Click(object sender, EventArgs e)
{ this.Timer1.Enabled = !this.Timer1.Enabled;
Label2.Text = "".ToString(); }
protected void Timer1_Tick(object sender, EventArgs e)
{
upload();
}
protected void asdasda_Click(object sender, EventArgs e)
{
Tab_Random zhinan = (Tab_Random)Tab_RandomManager.Instance.GetModelTab_RandomByWhere("daqu='" + Label1.Text.ToString() + "'");
string dadada = zhinan.Daqu.ToString();
AnswerDAL.Intance.ModifyTab_Random(dadada);
}
protected void Button2_Click(object sender, EventArgs e)
{
AnswerDAL.Intance.ModifyTab_RandomAll();
} protected void Timer2_Tick(object sender, EventArgs e)
{
uploadone();
} public void uploadone()
{
int nu = 0;
Random random = new Random();
for (int i = 0; i < ListTest().Count; i++)
{
nu = random.Next(ListTest().Count);
this.Label2.Text = ListTestone()[nu].ToString();
}
} public List<string> ListTestone()
{
List<string> list = new List<string>();
Tab_Random zhinan_class = (Tab_Random)Tab_RandomManager.Instance.GetModelTab_RandomByWhere("numid=0 and daqu='" + Label1.Text .ToString()+ "' order by newid()");
list.Add(zhinan_class.Name);
return list;
}
你周期设多长的?还有你这号抽来干嘛的
周期设置的Interval="100"
你应该先执行一次数据库查询,比如放在pageload里,把结果保存在成员变量里。然后每次tick的时候随机从列表里选一个显示。100毫秒查询一次数据库对数据库压力很大的。
那你看我的方式 不是 先取出来的吗?ListTest()
在你打开静态页的时候,利用jquery来upload来执行操作。
既然得到了数据, 那么就是 刷新页面了,
静态页刷新你可以用到<META http-equiv=refresh content=3;url=#>这个。 然后3秒后跳转页面。 跳转的页面还是相同的页面 实现刷新的功能! 这样就可以达到你的要求了!
在pageload方法里取出查询结果,保存在成员变量里,以后随机抽取时从成员变量里取而不是反复调用ListTest。当然抽取一个后可能需要从成员变量里删除,看你实际情况。