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

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

  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>
    

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

1 ответ

Решение

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

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

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

Вычеркнуто из MSDN:

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

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

Другие вопросы по тегам