C#のデータバインダーでEvalを使用する方法を教えてください。
C#のDataBinder.Evalメソッドは、指定したフィールドの値をデータソースから取得するために使用されます。
DataBinder.Eval(object コンテナー, string 式);
パラメーターの説明:
- コンテナー: データオブジェクトを含むことを示し、通常はデータバインディングコントロール(GridView、DataListなど)のデータ項目1つ。
- 属性を取得するフィールド名を指定します。オブジェクトの属性を取得するには、”PropertyName.SubPropertyName” のようにドット記法を使用することができます。
グリッドビューコントロールはデータソースにバインドされており、データソースには「名前」というフィールドがあります。DataBinder.Evalメソッドを使用して、各データ行の「名前」フィールドの値を取得できます。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string name = DataBinder.Eval(e.Row.DataItem, "Name").ToString();
// 使用name的值进行其他操作
}
}
上記の例では、GridView の各行のデータバインド イベントで DataBinder.Eval メソッドを使って、各行のデータの Name フィールドの値を取得し、name 変数に格納して後で利用しています。
ただし、DataBinder.Evalメソッドはオブジェクトを返すため、他の型に変換する場合は、適切な型変換が必要です。