rezaeti Ответов: 2

Как отобразить список< & gt; В gridview ASP.NET с#


всем привет. Я код дал в asp.net C# для выбрать всех пользователей из моего table_users в БД SQL-сервера.

мой дал :

public string UserName
    {
        get { return _UserName; }
        set { _UserName = value; }
    }
    private string _Pass;

    public string Pass
    {
        get { return _Pass; }
        set { _Pass = value; }
    }
    private string _Name;

    public string Name
    {
        get { return _Name; }
        set { _Name = value; }
    }
    private string _Family;

    public string Family
    {
        get { return _Family; }
        set { _Family = value; }
    }

    private string _Mobile;

    public string Mobile
    {
        get { return _Mobile; }
        set { _Mobile = value; }
    }

public List<Users> GetAllUsers()
        {
            List<Users> usersList = null;

            using (DataTable table = SqlDBHelper.ExecuteSelectCommand("GetAllUsers", CommandType.StoredProcedure))
            {
                if (table.Rows.Count > 0)
                {
                    usersList = new List<Users>();

                    foreach (DataRow row in table.Rows)
                    {
                        Users user = new Users();

                        user.UserName = table.Rows[0]["UserName"].ToString();
                        user.Pass = table.Rows[0]["Pass"].ToString();
                        user.Name = table.Rows[0]["Name"].ToString();
                        user.Family = table.Rows[0]["Family"].ToString();
                        user.Mobile = table.Rows[0]["Mobile"].ToString();

                        usersList.Add(user);
                    }
                }
            }
            return usersList;
        }


и мой BLL код для вызова:

public List<Users> GetAllUsers()
      {
          return userDB.GetAllUsers();
      }


а теперь я хочу вызвать метод для отображения данных в виде сетки .

public List<Users> usersList = null;
            UsersHadler userDB = new UsersHadler();
            usersList = userDB.GetAllUsers();
            foreach (Users user1 in usersList)
            {
                GridView1.DataSource = usersList;
                GridView1.DataBind();
            }


У меня есть 3 пользователя в базе данных. uer1 и user2 и user3
проблема в том, что я вижу в gridview 3 строки для одного пользователя 1.
пользователь1
пользователь1
пользователь1
что случилось?
спасибо за ответ

Что я уже пробовал:

Я меняю код:
GridView1.DataSource = userDB.GetAllUsers();
GridView1.DataBind();


но у меня та же проблема

2 Ответов

Рейтинг:
1

san2debug

Привет.

Я видел ваш код, что вы пробовали до сих пор, в этом нет ничего плохого, но я не уверен, что хранимая процедура GetAllUsers как Картик Скажите, можете ли вы поделиться своей хранимой процедурой здесь? чтобы мы могли помочь вам найти решение.

Вы можете вызвать этот код для привязки данных из списка

List<Users> usersList=userDB.GetAllUsers();
GridView1.DataSource = usersList;
GridView1.DataBind();


Рейтинг:
0

Karthik_Mahalingam

Нет необходимости использовать loop чтобы связать данные, однако он будет связывать одни и те же данные снова и снова

foreach (Users user1 in usersList)
           {
               GridView1.DataSource = usersList;
               GridView1.DataBind();
           }


Проверьте эту хранимую процедуру GetAllUsers независимо от того, возвращает ли он дубликаты записей или нет. в остальном ваш код выглядит нормально