скажем, я хочу показать свой класс "Личность".
Я могу сделать это двумя способами:
поместите несколько asp: ярлыков в свой html и заполните их в моем коде сервера:
lblName.Text = person1.Name
lblAge.Text = person1.Age
используйте элемент управления 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>
какой путь лучше? какова стоимость использования тегов сервера?
Это то же самое, потому что элементы управления должны быть runat="server"
и присваивать значения runat="server"
управления со стороны сервера.
Основное различие заключается в том, что вы присваиваете значения в файле code_behind или в файле разметки. Где бы вы ни пожелали. В обоих случаях для сбора этих значений потребуется серверная сторона.
Я не думаю, что стоимость использования тегов сервера будет отличаться для назначения значений в файле кода, потому что они обрабатываются на этапе визуализации страницы.
Извлечен из msdn:
Модель по умолчанию для добавления кода на веб-страницу ASP.NET состоит в том, чтобы либо создать файл класса позади кода (страница с кодом), либо написать код страницы в блоке сценария с атрибутом runat = "server" (a одностраничная страница). Код, который вы пишете, обычно взаимодействует с элементами управления на странице. Например, вы можете отображать информацию на странице из кода, устанавливая текстовые (или другие) свойства элементов управления. Другая возможность заключается в том, чтобы вставлять код непосредственно в страницу с помощью встроенного кодового блока. Встроенные блоки кода Встроенный блок кода - это код сервера, который выполняется во время фазы отображения страницы. Код в блоке может выполнять операторы программирования и функции вызова в текущем классе страниц.
Использование встроенных блоков кода Встроенные кодовые блоки поддерживаются на веб-страницах ASP.NET, в первую очередь, для обеспечения обратной совместимости со старой ASP-технологией. В общем, использование встроенных кодовых блоков для сложной логики программирования не является лучшей практикой, потому что, когда код смешивается на странице с разметкой, ее трудно отлаживать и поддерживать. Кроме того, поскольку код выполняется только во время этапа визуализации страницы, у вас значительно меньше гибкости, чем при использовании кода кода или кода сценария, в определении области вашего кода на соответствующем этапе обработки страницы. Некоторые функции для встроенных блоков кода включают в себя: Установка значения элемента управления или разметки для значения, возвращаемого функцией, как показано в предыдущем примере. Внедрение вычисления непосредственно в свойство разметки или контроля.