我使用此代码只获得1条记录,但我想在页面上显示多条记录。我在页面上显示了3列:id
,name
和lastname
。
我怎么能这样做?
代码背后:
protected List<Class1> GetClass1()
{
Class1 uinfo = new Class1();
uinfo.ID = Convert.ToInt16(TextBox1.Text);
uinfo.Name = TextBox2.Text;
uinfo.LastName = TextBox3.Text;
data.Add(uinfo);
return data;
}
protected void BindUserDetails()
{
data = GetClass1();
GridView1.DataSource = data;
GridView1.DataBind();
}
班级档案:
public class Class1
{
Int16 id;
string name = string.Empty;
string lastname = string.Empty;
public Int16 ID
{
get { return id; }
set { id = value; }
}
public string Name
{
get { return name; }
set { name = value; }
}
public string LastName
{
get { return lastname; }
set { lastname = value; }
}
}
答案 0 :(得分:1)
我为你找到了一个解决方案。这只是一个示例实现。请根据您的要求进行修改。
守则:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
namespace BindingListSample
{
public partial class _Default : System.Web.UI.Page
{
static List<Employee> bindingL = new List<Employee>();
protected void Btn_Click(object sender, EventArgs e)
{
bindingL.Add(new Employee { Name = TxtName.Text });
GrvSample.DataSource = bindingL;
GrvSample.DataBind();
}
}
public class Employee
{
public string Name { get; set; }
}
}
问题是您需要在列表中使用静态。使用静态时,可以存储已插入的值,直到关闭应用程序。有关详细说明,请参阅静态关键字。
这只是解决这种情况的方法。
希望这有助于
答案 1 :(得分:0)
`List<Class1> data = new List<Class1>();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
if (Session["test"] != null)
{
data = Session["test"] as List<Class1>;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Class1 cl = new Class1 { ID = Convert.ToInt16(TextBox1.Text), Name = TextBox2.Text, LastName = TextBox3.Text };
data.Add(cl);
Session["test"] = data;
dataBind();
}
protected void dataBind()
{
GridView1.DataSource = data;
GridView1.DataBind();
}
}
}`