В чем недостаток использования встроенных тегов сервера в моем HTML?

0

скажем, я хочу показать свой класс "Личность".
Я могу сделать это двумя способами:

  1. поместите несколько asp: ярлыков в свой html и заполните их в моем коде сервера:

    lblName.Text = person1.Name 
    lblAge.Text = person1.Age 
    
  2. используйте элемент управления asp: formView, поэтому код сервера будет выглядеть так:

    Dim myDataSource = New Object() {person1}
    FormView1.DataSource = myDataSource
    FormView1.DataBind()
    

    и мой html будет выглядеть так:

    <asp:FormView ID="FormView1" runat="server">
        <ItemTemplate>
            Name:<%# Eval("Name")%>
            <br />
            Age:<%# Eval("Age")%>
        </ItemTemplate>
    </asp:FormView>
    

какой путь лучше? какова стоимость использования тегов сервера?

Теги:
data-binding
formview

1 ответ

0
Лучший ответ

Это то же самое, потому что элементы управления должны быть runat="server" и присваивать значения runat="server" управления со стороны сервера.

Основное различие заключается в том, что вы присваиваете значения в файле code_behind или в файле разметки. Где бы вы ни пожелали. В обоих случаях для сбора этих значений потребуется серверная сторона.

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

Извлечен из msdn:

Модель по умолчанию для добавления кода на веб-страницу ASP.NET состоит в том, чтобы либо создать файл класса позади кода (страница с кодом), либо написать код страницы в блоке сценария с атрибутом runat = "server" (a одностраничная страница). Код, который вы пишете, обычно взаимодействует с элементами управления на странице. Например, вы можете отображать информацию на странице из кода, устанавливая текстовые (или другие) свойства элементов управления. Другая возможность заключается в том, чтобы вставлять код непосредственно в страницу с помощью встроенного кодового блока. Встроенные блоки кода Встроенный блок кода - это код сервера, который выполняется во время фазы отображения страницы. Код в блоке может выполнять операторы программирования и функции вызова в текущем классе страниц.

Использование встроенных блоков кода Встроенные кодовые блоки поддерживаются на веб-страницах ASP.NET, в первую очередь, для обеспечения обратной совместимости со старой ASP-технологией. В общем, использование встроенных кодовых блоков для сложной логики программирования не является лучшей практикой, потому что, когда код смешивается на странице с разметкой, ее трудно отлаживать и поддерживать. Кроме того, поскольку код выполняется только во время этапа визуализации страницы, у вас значительно меньше гибкости, чем при использовании кода кода или кода сценария, в определении области вашего кода на соответствующем этапе обработки страницы. Некоторые функции для встроенных блоков кода включают в себя: Установка значения элемента управления или разметки для значения, возвращаемого функцией, как показано в предыдущем примере. Внедрение вычисления непосредственно в свойство разметки или контроля.

  • 0
    как насчет вопроса отражения? Я не понимаю, что это значит:
  • 0
    «Поскольку этот метод выполняет оценку с поздней привязкой, используя отражение во время выполнения, он может привести к заметному снижению производительности по сравнению со стандартным синтаксисом привязки данных ASP.NET». (из MSDN)
Показать ещё 8 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню