0

我使用此代码仅获得 1 条记录,但我想在页面上显示多条记录。我在页面上显示 3 列,它们是idnamelastname。我怎样才能完成这项工作?

代码背后:

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; }
    }
}
4

2 回答 2

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; }
    }
}

问题是您需要在列表中使用静态。当您使用静态时,您可以存储您插入的值,直到应用程序关闭。更多解释请参阅静态关键字。

这只是我解决这种情况的方法。

希望这可以帮助

于 2013-08-07T08:50:17.983 回答
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();
    }
}

}`

于 2013-08-08T13:02:20.277 回答