C # - использовать один и тот же объект для нескольких столбцов в GridView - PullRequest
0 голосов
/ 05 мая 2011


У меня есть сетка регистрации студентов, заполненная объектами регистрации.Объект зачисления имеет идентификатор студента.С этим идентификатором я заполняю 2 столбца (из 3 свойств объекта Student) таблицы сетки регистрации.
Прямо сейчас я делаю это с помощью приведенного ниже кода.Это означает 3 поездки в базу данных для одного и того же объекта, что очень плохо.Как я могу использовать один и тот же объект, чтобы получить 3 свойства?

<asp:TemplateField HeaderText="Student Name">
                <ItemTemplate>
                    <asp:Label ID="lblName" runat="server" Text='<%# string.Format("{0} - {1}", StudentProfile.GetStudentProfileById(Convert.ToInt32(Eval("StudentId"))).FirstName, StudentProfile.GetStudentProfileById(Convert.ToInt32(Eval("StudentId"))).Surname) %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Student DOB">
                <ItemTemplate>
                    <asp:Label ID="lblDOB" runat="server" Text='<%# StudentProfile.GetStudentProfileById(Convert.ToInt32(Eval("StudentId"))).DateOfBirth %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>

Редактировать: К вашему сведению, мне приходится иметь дело с обновлением строк вида сетки, которое будет включать добавление текстовых полей и так далее в каждую строку.Не могли бы вы сохранить ответы на этот вопрос?

Большое спасибо!

1 Ответ

2 голосов
/ 05 мая 2011

Неправильно, как вы привязываете данные к виду сетки.Вам необходимо получить Data в объекте / коллекции, а затем связать эти данные как DataSource с вашим GridView.

Взгляните сюда Отображение данных с помощью ObjectDataSource и посмотрите на это Запрос данных с помощью SqlDataSource Control

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