Страница ASPX для отображения нескольких записей из таблицы SQL (подход DetailsView) - PullRequest
1 голос
/ 19 октября 2011

Сценарий: в Page1.aspx пользователь отправляет почтовый индекс и город и нажимает клавишу ввода.Затем я передаю управление в Page2.aspx с zipcode & City.

Здесь, на странице 2, я сделаю запрос из таблицы, соответствующей zipcode & City.Если найден, я получу от 1 до n записей.

Теперь мне нужно отобразить записи следующим образом.


Имя клиента: Customer1

Телефон клиента:201201201

Город клиента: NewCity


Имя клиента: Customer2

Телефон клиента: 303013010

Город клиента: OldCity


Имя клиента: Customer3

Телефон клиента: 45646466

Город клиента: CurrentCity


Каждая запись выше представляет собой два столбца с первым столбцом в качестве заголовка и вторымзначение.Я хотел бы показать до 8 клиентов (выше я показал 3 клиентов) на странице, а затем разместить нумерацию страниц.Нажав на следующую страницу, вы увидите следующий набор из 8 записей.

Пожалуйста, предложите лучший контроль.Я думал о DetailsView, но не знаю, смогу ли я показать до 8 вхождений на одной странице, используя Detailsview.

Пожалуйста, предложите или любые другие альтернативы.

Ответы [ 2 ]

2 голосов
/ 20 октября 2011

Это пример того, как отобразить результаты, используя управление повторителем ....

Ретранслятор ASP.NET, используемый с AlternatingItemTemplate, SeparatorTemplate, HeaderTemplate и FooterTemplates, а также ItemTemplate.

 <asp:Repeater ID="NewsListRepeater" runat="server">

 <HeaderTemplate>Funky Title<br /><br /></HeaderTemplate>

  <ItemTemplate>
     <%# DataBinder.Eval(Container.DataItem, "SpecialNumber") %><br />
     <%# DataBinder.Eval(Container.DataItem, "SpecialLetters") %><br />
  </ItemTemplate>

  <SeparatorTemplate>
     ------<br />
  </SeparatorTemplate>

 <AlternatingItemTemplate>
     <i><%# DataBinder.Eval(Container.DataItem, "SpecialNumber") %></i><br />
    <i><%# DataBinder.Eval(Container.DataItem, "SpecialLetters") %></i><br /> 
  </AlternatingItemTemplate>

  <FooterTemplate><br />End of the funky stuff</FooterTemplate>

В коде, лежащем в основе файла, следующий код используется для создания DataTable, а затем создает несколько простых данных для помещения в DataTable только для демонстрационных целей, которые мы затем связываем с Repeater. В реальном мире вы будете привязывать свой Repeater к результатам вызова базы данных или даже к XML-файлу.

protected void Page_Load(object sender, EventArgs e)
{
   // create a datatable
   DataTable newsDataTable = new DataTable();

   // add some columns to our datatable
   newsDataTable.Columns.Add("SpecialNumber");
   newsDataTable.Columns.Add("SpecialLetters");

   // create some rows in our data
   string _letters = "ABCDE";
  for (int i = 1; i <= 5; i++)
  {
    DataRow newsDataRow = newsDataTable.NewRow();
    newsDataRow["SpecialNumber"] = i;
    newsDataRow["SpecialLetters"] = _letters.Substring(5 -i);
    newsDataTable.Rows.Add(newsDataRow);
  }

  // bind our datatable to our repeater
   NewsListRepeater.DataSource = newsDataTable;
  NewsListRepeater.DataBind();
} 

и выход такой, как этот ...

Funky Title

1
E
------
2
DE
------
3
CDE
------
4
BCDE
------
5
ABCDE

End of the funky stuff

Надеюсь, это поможет вам ...

1 голос
/ 19 октября 2011

Для этого вы можете использовать любой шаблонный элемент управления, связанный с данными, например, DataList или DataRepeater.

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

...