繁体   English   中英

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

[英]what is the downside of using inline server tags in my html?

假设我要显示“人”类。
我可以通过两种方式做到这一点:

  1. 在我的html中放入一些asp:labels,并在我的服务器代码中填写它们:

     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> 

哪种方法更好? 使用服务器标签的成本是多少?

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

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

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

从msdn提取:

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

嵌入式代码块的用途ASP.NET网页中主要支持嵌入式代码块,以保持与较早ASP技术的向后兼容性。 通常,将嵌入式代码块用于复杂的编程逻辑不是最佳实践,因为将代码与标记混合在页面上时,可能很难调试和维护。 另外,由于该代码仅在页面的呈现阶段执行,因此与将代码范围限定在页面处理的适当阶段相比,使用代码隐藏或脚本块代码要灵活得多。 嵌入式代码块的一些用途包括:将控件或标记元素的值设置为函数返回的值,如前面的示例所示。 将计算直接嵌入到标记或控件属性中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM