データリストでは通常、たとえば Eval を使用してデータバインドを介して値が割り当てられたコントロールの FindControl を使用して行データを抽出します。
データリストに ASP.NET サーバー コントロールへのバインドがない場合はどうなるでしょうか。それは、たとえばテーブルセルまたはそれ自体で、「まっすぐに」データリストにあります。
FindControl を実行することはできません。行の値がバインドされておらず、データキーでもない場合、行の値を抽出することは可能ですか?
データリストでは通常、たとえば Eval を使用してデータバインドを介して値が割り当てられたコントロールの FindControl を使用して行データを抽出します。
データリストに ASP.NET サーバー コントロールへのバインドがない場合はどうなるでしょうか。それは、たとえばテーブルセルまたはそれ自体で、「まっすぐに」データリストにあります。
FindControl を実行することはできません。行の値がバインドされておらず、データキーでもない場合、行の値を抽出することは可能ですか?
データリストにバインドされたデータがあると仮定しています (アイテム テンプレートをレンダリングしているため)。データリストの OnItemDatabound イベントで次のようなものを使用します。
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { myobject obj = (myobject)e.Item.DataItem; }
データ項目をキャストしたら、必要な値を抽出できます。
値が DataList 内にある場合でもFindControl
、 でマークされたコントロール内にある場合はそのままにすることができrunat="server"
ます。
<asp:Literal id="ltFixedValue" runat="server">5</asp:Literal>
あるいは
<span id="spFixedValue" runat="server">5</span>