2011-09-16 4 views
0

私はこの奇妙な問題が発生した。リピータコントロール用のRowDataBoundイベントハンドラがあります。リピータの隠しフィールドの値をプログラムで設定できないのはなぜですか?

私はコードを持っている:

HiddenField hfIpAddressRangeId = (HiddenField)e.Row.FindControl("hfIpAddressRangeId"); 
hfIpAddressRangeId.Value = .IpAddressRangeId.ToString(); 

をしかし、私は、HTMLを見たときに、そのコントロールの値が設定されていません。私はこのような

<asp:HiddenField runat="server" Value='<%# Eval("IpAddressRangeId ") %>' ID="hfIpAddressRangeId" ViewStateMode="Enabled" /> 

としてインラインC#を使用して値を設定した場合しかし、値が設定されています。なぜ私は各datarowをバインドするときにこれがうまくいかないのか分かりません。

+0

このIpAddressRangeId.ToString()は実際にDataBoundイベントの任意の値を保持していますか? – V4Vendetta

+0

隠しフィールドをipaddressrangeidではなくrowdataboundハンドラの静的な値に設定しようとしましたか? –

答えて

3

IpAddressRangeIdはデータソースの一部ですので、2番目の例ではEvalを使用しています。これを試しましたか?:

HiddenField hfIpAddressRangeId = (HiddenField)e.Row.FindControl("hfIpAddressRangeId"); 
hfIpAddressRangeId.Value = DataBinder.Eval(e.Row.DataItem, "IpAddressRangeId").ToString(); 
関連する問題