簡體   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