これはおそらく私が自分でテストできるものの 1 つですが、データバインディングを私よりも少しよく理解している人から、より包括的な回答を得たかったのです。私自身、モデル集約型の MVC のほうが好きなので、一般的な asp.net データ バインディングの概念全体については少し新しいです。
私が理解していることは次のとおりです。コントロールまたはページ全体をデータソースにバインドすると、DataBinder
クラスを使用して実行時にデータを解決できます。
私がよくわからないのは範囲です。たとえば、最近継承したレガシー アプリには、次のような行がたくさんあります。
DataBinder.Eval(Container.DataItem, "saved_offer_id");
しかし、asp.netがキーを見つけるためにどこを見ればよいかをどのように知っているかについて、私は混乱していsaved_offer_id
ます。たとえば、次のように 2 つのリピーターがあるとします。
<asp:Repeater id="repeater1">
<span>My offer ID is <# DataBinder.Eval(Container.DataItem, "saved_offer_id") %></span>
</asp:Repeater>
<asp:Repeater id="repeater2">
<span>My offer ID is <# DataBinder.Eval(Container.DataItem, "saved_offer_id") %></span>
</asp:Repeater>
そして、それぞれのリピーターが独自のデータ ソースを持っているとしましょう。はどのDataBinder
データ ソースを参照するかをどのように判断しますか? これら 2 つのリピーターが異なるオファー ID 値を表示する状況はありますか?