0

テンプレートフィールドを使用して、グリッドビューの1つの列に4つのデータフィールドを表示しています。データフィールドの1つは日付フィールドです。通常の日付ではなく、相対的な時間/日を表示したい。(例:2時間前/ 2日前)。テンプレートフィールド列内の日付フィールドを操作するにはどうすればよいですか。提案してください。

ありがとう。

4

2 に答える 2

0

<%#Eval( "Date Field")%>を使用して、実行時に列にバインドされているデータを操作できます。次のような操作を行うことで、コードビハインドで関数を呼び出すこともできます。

<%# this.MyFunction(Eval("Date Field Name")) %>

それを行うためのより良い方法があるかもしれませんが、これは過去に私のために働いてきました。Evalは。を返すことに注意してくださいobject

于 2011-05-24T13:44:33.557 に答える
0

他のビュー/ページがその形式を使用する場合は、UIに埋め込まれたり複製されたりしないように、ビジネスサービスレイヤーまたはユーティリティ関数に配置することを検討してください。

// Business Service
public IList<Person> GetAllActivePeople()
{
 var people = _yourDataRepository.FindActive();
 foreach(var p in people)
 {
  p.MyRelativeDateField = ConvertToRelativeHoursDays(p.MyDateField);
 }
 return people;
}

// probably better as a utility class if other dates of other objects can use this...
private string ConvertToRelativeHoursDays(DateTime someDate)
{
    // implement formatting here
}
于 2011-05-24T13:49:06.930 に答える