Как профессиональные разработчики веб-форм ASP.NET кодируют страницы базы данных? - PullRequest
0 голосов
/ 30 июля 2011

Интересно, какие методы выбирают профессионалы для страницы для просмотра данных из таблицы базы данных в веб-формах ASP.NET, например, для отдельной страницы сведений о продукте на веб-сайте электронной коммерции?

Некоторые из методов, которые я рассматриваюявляются:

  1. DataView с привязкой к данным;
  2. FormView с привязкой к данным;
  3. Множество элементов управления метками, которым присвоены значения в выделенном коде;
  4. LotsResponse.Writes на странице разметки (например, <% = object.field%>);или
  5. Любые другие методы ???

  6. Ниже приведен фрагмент кода, который я использую в настоящее время.Это плохая практика?

Разметка ...

<asp:Panel ID="panOrder" runat="server">
<table>
    <tr>
        <td>Order Number</td>
        <td><asp:Label ID="lblOrderId" runat="server" Text='<%# Order.orderid %>' /></td>
    </tr>
   <tr>
        <td>Order Date</td>
        <td><asp:Label ID="lblCreationDate" runat="server" Text='<%# Order.creationdate.ToString("dd/MM/yyyy") %>' /></td>
   </tr>
</table>

Код позади ...

protected order Order { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
    int orderId = Request.QueryString["orderid"] == null ? 0 : Utilities.IntParse(Request.QueryString["orderid"]);
    Order = order.SelectByOrderId(orderId);
    panOrder.DataBind();
}

Ответы [ 2 ]

1 голос
/ 30 июля 2011

Если вы хотите отобразить информацию о продукте на странице, вам следует вместо этого использовать Repeater Control .Таким образом, вы будете иметь больше контроля над макетом страницы.Кроме того, этот элемент управления light weight и предоставит вам хороший performance.

0 голосов
/ 30 июля 2011

Все зависит от того, что вам нужно в конкретной ситуации:

  1. используйте DetailsView, если вам нужны простые операции с вашими данными (базовый выбор, обновление, вставка), и ваши данные будут представлены в виде одного представления в виде списка (сверху вниз)

  2. то же самое, что и для DetailsView, но имейте в виду, что с FormView вы более свободны от того, как представлять ваши данные из коробки (DetailsView требует некоторых настроек, чтобы вести себя так же). Вы не будете ограничены сверху вниз презентацией, вы можете свободно выбирать, где на вашей странице представлена ​​некоторая информация.

  3. когда у вас есть только от 2 до 3 элементов с привязкой к данным, но когда у вас есть больше полей, я бы предпочел использовать один из вышеуказанных методов. Это проще.

  4. этот метод в веб-формах я лично использую очень редко. Может быть, если вам придется переделать какую-то старую страницу ASP (любую, не веб-формы), где много HTML-кода, и он уже хорошо структурирован?

  5. также с использованием других элементов управления данными, например, Gridview при представлении табличных данных. Повторитель также является еще одним приятным элементом управления, как упоминал Мухаммед (я согласен, что он наиболее настраиваемый).

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

Чтобы ответить на данный пример: страницу сведений об отдельных продуктах будет проще всего получить с помощью DetailsView или FormView. Я бы пошел на второй.

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