使用<%# Eval("<propertyName>") %>
當然,你將有一個DataSource
分配給您的中繼器,並調用DataBind()
,不需要使用這些內聯編碼,您可以將整個邏輯封裝到數據項的自定義屬性中。例如,在上面的代碼,你可以創建一個自定義屬性說,Age
,如:
partial class YourDataItemClass // use partial if it is auto-generated
{
public string Age
{
var ageStr = a.ToString(); // assuming YourDataItemClass has an `a` var/property
// Do real stuff here
...
...
var lowered = ageStr.ToLower();
...
...
return lowered;
}
}
,並可以公開像Repeater控件內部的屬性:
<asp:Repeater id="myRepeater" ..>
<ItemTemplate>
<p>Hello <%# Eval("Name") %> you are <%# Eval("Age") %> old</p>
</ItemTemplate>
</asp:Repeater>
指定數據源和數據綁定中繼器在某處隱藏代碼,如:
...
// Call the method which provides you the data
// IEnumerable<YourDataItemClass> myData = ... ;
myRepeater.DataSource = myData;
myRepeater.DataBind();
...
我想這是內聯,而不是代碼隱藏在所有。 – loyalflow