首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 資料繫結語法完整指南:<%# %> 與 <%= %> 差異、Container.DataItem 用法、C#/VB 範例

     編輯:關於ASP.NET

ASP.NET 資料繫結表達式包含在 <%# %> 中,於呼叫 DataBind() 時運算。支援繫結至伺服器控件屬性、頁面屬性/方法、資料源欄位等。本文整理語法規則、Container.DataItem 用法、C#/VB 差異與單值輸出 <%= %> 差異。

資料繫結表達式基礎

  • 位置:伺服器控件標籤屬性值、頁面任意位置。
  • 觸發:頁面/控件 DataBind() 執行時。
  • 語法:<%# 運算式 %>。

Container.DataItem 詳解

Container.DataItem 代表當前繫結的單一資料項 (DataRow、List 項目、自訂物件等),其型別取決於資料源。

VB.NET 常用語法

<%# Container.DataItem %>                      ' 字串集合直接輸出
<%# Container.DataItem("欄位名") %>           ' DataView/DataTable 欄位
<%# Container.DataItem.PropertyName %>        ' 物件屬性
<%# CStr(Container.DataItem.PropertyName) %>  ' 強制轉字串

C# 對應語法 (需轉型)

<%# Container.DataItem %>
<%# ((DataRowView)Container.DataItem)["PropertyName"] %>
<%# ((MyEntity)Container.DataItem).PropertyName %>
<%# ((MyEntity)Container.DataItem).PropertyName.ToString() %>

頁面屬性/方法繫結

<%# PropertyName %>                          ' 頁面屬性
<asp:ListBox DataSource='<%# PropertyName %>' />  ' 繫結集合屬性
<%# (ObjectName.PropertyName) %>             ' 頁面物件屬性
<%# MethodName() %>                          ' 頁面方法回傳值

單值輸出 <%= %> 與 <%# %> 差異

語法執行時機適用場景
<%= Value %>Render 階段單一值直接輸出,不需 DataBind()
<%# Expr %>DataBind() 時資料繫結上下文、支援雙向繫結

實務建議

  • Repeater/GridView/ListView 等資料控件內部請使用 <%# %>。
  • 頁面層級簡單變數輸出可用 <%= %>,但避免在資料控件模板中混用。
  • C# 強型別轉型 (as / (Type)) 可避免執行期錯誤。

熟練掌握繫結語法,能讓 ASPX 樣板更簡潔、邏輯更清晰。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved