在我的HTML中使用内联服务器标签的缺点是什么?

时间:2013-10-17 05:33:10

标签: html vb.net data-binding formview server-tags

假设我要显示我的“人”类 我可以用两种方式做到:

  1. 在我的html中添加了一些asp:标签,并将其填入我的服务器代码中:

    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>
    
  3. 哪种方式更好?使用服务器标签的成本是多少?

1 个答案:

答案 0 :(得分:0)

它是相同的,因为控件必须是runat="server"并且它从服务器端将值分配给控件。

主要区别在于您在code_behind文件或标记文件中分配值。无论你喜欢哪里。在这两种情况下,都需要到服务器端来收集这些值。

我认为使用服务器标签的成本与在代码文件中分配值不同,因为它们是在页面的呈现阶段处理的。

从msdn提取:

  

将代码添加到ASP.NET网页的默认模型是   创建一个代码隐藏类文件(代码隐藏页面)或编写   脚本块中的页面代码,其属性为runat =“server”(a   单文件页面)。您编写的代码通常与之交互   页面上的控件。例如,您可以显示有关的信息   通过设置控件的Text(或其他)属性从代码页面。   另一种可能性是使用a将代码直接嵌入到页面中   嵌入式代码块。嵌入式代码块嵌入式代码块是   在页面呈现阶段执行的服务器代码。代码在   该块可以执行编程语句和调用函数   当前页面类。

     

嵌入式代码块的使用支持嵌入式代码块   ASP.NET网页主要是为了保持向后兼容性   较旧的ASP技术。通常,使用嵌入式代码块   复杂的编程逻辑不是最佳实践,因为当时   代码在页面上混有标记,可能很难调试   并保持。另外,因为代码只在执行期间执行   页面的渲染阶段,你的灵活性要比   使用代码隐藏或脚本块代码将代码范围限定为   适当的页面处理阶段。嵌入式代码的一些用途   块包括:将控件或标记元素的值设置为a   函数返回的值,如上例所示。   将计算直接嵌入到标记或控件属性中。