ASP.NET にはかなり単純な問題があります。テンプレート フィールドを含むグリッド ビューがあります。テンプレート フィールドにラベルがあります。日時の値が最小値でない場合 (つまり、日時フィールドが設定されていない場合)、バインドされた列で指定された日付にラベル テキスト プロパティを設定しようとしています。どうすればいいのか本当にわかりません。私が達成しようとしていることをより明確にするために、以下で試したコードをいくつか示しました。
<asp:TemplateField HeaderText="Start Date">
<ItemTemplate>
<asp:Label ID="startDateLabel" runat="server"
Text='<%# if (Eval("StartDate") == DateTime.MinValue) { "None" } else { Eval("StartDate") } %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
要求されたオブジェクト データ ソースのコードは次のとおりです。
<asp:ObjectDataSource ID="projectDataSource" runat="server"
SelectMethod="GetProjects" TypeName="Lemur.Services.Impl.ProjectService">
</asp:ObjectDataSource>
オブジェクト データ ソースから返されるクラスは次のとおりです。
public class Project
{
#region Private Fields
private Client _client;
#endregion
#region Public Properties
public Guid ID { get; set; }
public string Name { get; set; }
public string Abbreviation { get; set; }
public string Description { get; set; }
public Guid ClientID { get; set; }
public Client Client
{
get
{
if (_client == null)
{
_client = new Client();
}
return _client;
}
set
{
_client = value;
}
}
public ProjectStatus ProjectStatus { get; set; }
public Employee ProjectManager { get; set; }
public Guid ProjectManagerID { get; set; }
public bool Active { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
#endregion
#region Overrides
public override string ToString()
{
return Name;
}
#endregion
}
取得しようとしているフィールドは StartDate です。
これを達成する方法について誰にもアイデアがありますか?
助けてくれてありがとう。