我正在设计一个在线测试系统。我想从数据库中读出20个问题并显示标签? (由EF)
Model.db_ExamOnlineEntities dbobj = new Model.db_ExamOnlineEntities();
private void Form1_Load(object sender, EventArgs e)
{
Model.Table_Question qs = new Model.Table_Question();
var query = dbobj.Table_Question.Find(qs.qtext);
for (int i = 0; i < 20; i++)
{
label1.Text = query.ToString();
}
}
如何创建20个标签?
答案 0 :(得分:2)
我推测你正在使用ASP.NET(aspx),在这种情况下,我建议你使用ListView / Repeater,而不是在运行中循环和创建控件。
请参阅示例用法here.
*编辑:ZiggZagg reference用于动态创建控件也可以。
答案 1 :(得分:0)
使用Take(int count)
:
Model.db_ExamOnlineEntities dbobj = new Model.db_ExamOnlineEntities();
private void Form1_Load(object sender, EventArgs e)
{
Model.Table_Question qs = new Model.Table_Question();
var query = dbobj.Table_Question.Find(qs.qtext).Take(20);
for (int i = 0; i < 20; i++)
{
label1.Text = query.ToString();
}
}
Take(int count)
会根据您的查询获取给定数量的元素,这意味着如果您使用例如:
var query = (from foo in bar).Take(100)
将从条形图表中返回foo行的前100条记录,