この情報を簡単に見つけることができるとは知りませんでした。実際、LLyod はリフレクションを使用してデータソースからデータを見つけるのが間違っていました。私が調べたとき、どのデータコントロールもそれを使用しませんReflector
;(
問題を解決したリンク
http://msdn.microsoft.com/en-us/library/ms366540.aspx
あなたはそれを行う方法は以下のとおりです
protected override void PerformDataBinding(IEnumerable retrievedData)
{
base.PerformDataBinding(retrievedData);
// Verify data exists.
if (retrievedData != null)
{
string dataStr = String.Empty;
foreach (object dataItem in retrievedData)
{
if (DataTextField.Length > 0)
{
dataStr = DataBinder.GetPropertyValue(dataItem,
DataTextField, null);
}
else
{
PropertyDescriptorCollection props =
TypeDescriptor.GetProperties(dataItem);
if (props.Count >= 1)
{
if (null != props[0].GetValue(dataItem))
{
dataStr = props[0].GetValue(dataItem).ToString();
}
}
}
}
}
}
上記のコードがギリシャ語やラテン語のように見える場合は、何が行われているかを理解するために asp.net コントロール開発のコースを受講する必要があります。