Как я могу получить подмножество данных из источника данных объекта сущности и перейти на другую страницу - PullRequest
2 голосов
/ 08 октября 2010

Я играю сейчас, пытаясь немного научить себя основам сущностей.

У меня есть данные Gridview, связанные с источником данных Entity Framework с использованием Entity Framework.Если я выберу определенные элементы в этом списке, то я захочу перенаправить другую страницу и заполнить другое представление сетки только выбранными элементами (но с более подробной информацией, различными свойствами включения / навигации)

Возможно, это самая простая вещь, ноЯ провел 2 часа, стуча головой о стену, пытаясь заставить это работать.

По сути, у меня есть кнопка продолжения, которая при нажатии должна идентифицировать все UID (столбец в виде сетки) строк и позволяет мне поднаборить только эти строки и передать их на другую страницу, чтобы перейти к другой странице.датагрид

Есть идеи ???

Ответы [ 2 ]

1 голос
/ 08 октября 2010

Если вы не использовали DataKeys в своем GridView, это мой подход.

Страница 1

    protected void Button1_Click(object sender, EventArgs e)
    {
        var checkedItems = new List<int>();

        foreach (GridViewRow row in GridView1.Rows)
        {
            var checkbox = (CheckBox)row.FindControl("CheckBox1");

            if (checkbox.Checked)
            {
                checkedItems.Add(int.Parse(row.Cells[1].Text));
            }
        }

        Session["checkedItems"] = checkedItems;

        Response.Redirect("Page2.aspx");
    }

Страница 2

    protected void Page_Load(object sender, EventArgs e)
    {
        var checkedItems = (List<int>)Session["checkedItems"];
        Session["checkedItems"] = null;

        foreach (var checkedItem in checkedItems)
        {
            Response.Write(checkedItem);
        }
    }

Используя идентификаторы в списке selectedItems, вы теперь можете запросить их у своей БД и, наконец, назначить Результат вашему GridView на второй странице.

Вместо использования Session вы можете передавать идентификаторы через QueryString.

1 голос
/ 08 октября 2010

Итак, в целом вы должны получить эти идентификаторы, передать их на другую страницу, а затем использовать запрос с Contains; посмотрите на этот вопрос, чтобы понять, как его использовать:
Как искать LINQ со многими параметрами в одном столбце?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...