填充数据表
在我的asp页面中,用户可以从TextBox和搜索按钮搜索学生。每次他们进行搜索时,学生对象都会返回。我只希望能够使用学生对象填充gridview,但每次页面加载时,页面都不记得以前的搜索。我的意思是,我的gridview变空了。我如何填写gridview?填充数据表
List<Student> oList;
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
oList = new List<Student>();
}
}
protected void AddLinkButton_Click(object sender, EventArgs e)
{
Student oStudent = new Search().WithId(StudentIdTextBox.Text);
// Student object is recevied
oList.Add(oStudent);
StudentGridView.DataSource = oList;
StudentGridView.DataBind();
}
class Student { // Just a simple student class
int id;
string name;
string sname;
}
每次调用搜索方法时,我都希望能够将学生数据放到DataTable中,以便将其绑定到GridView。我只是不知道如何实现这一点。
你想达到这样的目的吗?如果需要,我会改进我的答案。
它将列表存储在会话对象中并绑定来自会话对象的网格。
public partial class _Default : System.Web.UI.Page
{
List<Student> oList = new List<Student>();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Session["List"] = oList;
}
}
protected void Button2_Click(object sender, EventArgs e)
{
var list = Session["List"] as List<Student>;
list.Add(new Student() { id = 1, name = "new", sname = "added" });
Session["List"] = list;
GridView1.DataSource = list;
GridView1.DataBind();
}
}
public class Student
{ // Just a simple student class
public int id{get;set;}
public string name{get;set;}
public string sname{get;set;}
}
谢谢你的回答,但正如我之前所说的,学生对象在这个'Student oStudent = new Search()后返回。WithId(StudentIdTextBox.Text); '。我不手动加载学生信息。当点击添加按钮时,我调用一个学生对象,将它添加到oList。 – 2012-03-21 10:33:13
好的,您可能需要将您的List存储在Session对象中并使用它。让我编辑我的代码 – AnarchistGeek 2012-03-21 10:38:04
编辑代码 – AnarchistGeek 2012-03-21 10:52:00
请问您可以发表一些代码吗? – w0051977 2012-03-21 09:25:25
@ w0051977,当然! – 2012-03-21 09:30:48
也请从aspx页面发布gridview代码和数据表。 – w0051977 2012-03-21 09:39:30