示例屬性:調用方法,而不是與評估和演示
我可以訪問ID
屬性,因爲有一個屬性。
但我無法從同一個類訪問一個方法。所以<%# Eval("GetToday") as string %>
不起作用。 創建一個屬性而不是沒有setter的方法將解決這個問題,但存在一個更好的方法?
標記:
<asp:GridView ID="GridView1" runat="server" SelectMethod="GetMyClass">
<Columns>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<%# Eval("ID") as string %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Today">
<ItemTemplate>
<%# Eval("**GetToday**") as string %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
後面的代碼:
public IList<MyClass> GetMyClass() { return new List<MyClass>(); }
MyClass的:
public class MyClass {
public int ID { get; set; }
public DateTime Date { get; set; }
public string GetToday()
{
// other userfulls logic
return Date.ToString("dd.MM.yyyy");
}
// workaround
public string GetTime
{
get
{
return Date.ToString("HH:mm");
}
set
{
// nothing
}
}
}
是的,但GetToday() - 方法只是一個例子。我需要使用約10行代碼在這種方法中進行其他有用的思考。 – Xeddon
@Xeddon我已經更新了答案,以舉例說明如何使用屬性在返回之前操作日期。 – philreed