1

dictionary<string, string>Urls Text とその HRef をキー値として表示するために、グリッドビューへの a の初期バインディングを使用しましたが、それは魅力のように機能します。しかし、辞書をこれに置き換えたいので:

dictionary<string, LinkInfo>

バインディングがうまくいかない!onItemDataBound などのイベントを処理する必要がありますか? LinkInfo構造は次のとおりです。

public struct LinkInfo{
    public string href;
    public bool Enabled;
}
4

1 に答える 1

1

はい、OnItemDataBound イベントにサブスクライブする必要があります。テンプレート フィールドを使用し、「href」のような ID を持つリテラルを挿入します

OnItemDataBound イベントで使用

Literal _href = e.Row.FindControl("href") as Literal;  
if(_href != null)
{
  _href = ((LinkInfo)e.Row.DataItem).href;
}

編集: このトピックをさらに詳しく説明する記事を書きました: http://www.tomot.de/en-us/article/7/asp.net/gridview-overview-of-different-ways-to-bind-データから列へ

于 2010-06-06T21:37:27.653 に答える