0

データをバインドしてHTMLページに書き込むことができるときに、データリピーターでラベルを使用しようとしています。

<asp:Label ID="lblID" runat="server"><%# DataBinder.Eval(Container.DataItem, "ID")%></asp:Label>

これは正常に動作します。

テキスト値を取得しようとすると、「」が表示されます。

ラベルlblcurrentID=ri.FindControl( "lblID")as Label;

結果:lblcurrentID.text = ""

この同じコードは、データリピーターにあるドロップダウンリストで正常に機能します。これは、ラベルがスパンタグに変換されることと関係があるのではないかと思います。

<span id="template6_middlecontent1mAzoaNominationApproval0_dataReaper_ctl01_lblID">2009040100000888213</span>
4

2 に答える 2

0

あなたはlblD.Textを好きではない値でバインドする必要があります

<%# DataBinder.Eval(Container.DataItem, "ID")%>

于 2013-07-22T15:10:31.393 に答える
0

以前にこの問題に遭遇したことがあります。実際に問題の解決策を見つけた覚えがありません。回避策として、<asp:HiddenField>情報を保持するためにを使用しました。

<asp:HiddenField runat="server" id="hiddenId" value='<%# Eval("Id") %>' />

Eval ステートメントをラップする " の代わりに ' に注意してください。.NET は、サーバー コントロールに値を割り当てるときに面倒です。

于 2009-05-19T15:36:54.493 に答える