0

データリストでは通常、たとえば Eval を使用してデータバインドを介して値が割り当てられたコントロールの FindControl を使用して行データを抽出します。

データリストに ASP.NET サーバー コントロールへのバインドがない場合はどうなるでしょうか。それは、たとえばテーブルセルまたはそれ自体で、「まっすぐに」データリストにあります。

FindControl を実行することはできません。行の値がバインドされておらず、データキーでもない場合、行の値を抽出することは可能ですか?

4

2 に答える 2

1

データリストにバインドされたデータがあると仮定しています (アイテム テンプレートをレンダリングしているため)。データリストの OnItemDatabound イベントで次のようなものを使用します。

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { myobject obj = (myobject)e.Item.DataItem; }

データ項目をキャストしたら、必要な値を抽出できます。

于 2010-02-08T16:17:31.930 に答える
1

値が DataList 内にある場合でもFindControl、 でマークされたコントロール内にある場合はそのままにすることができrunat="server"ます。

<asp:Literal id="ltFixedValue" runat="server">5</asp:Literal>

あるいは

<span id="spFixedValue" runat="server">5</span>
于 2010-02-08T16:21:11.377 に答える