フォーム ビュー アイテム テンプレートにユーザー コントロールを追加しましたが、ユーザー コントロールにパブリック プロパティを追加しましたが、プロパティの設定方法がわかりません。私は次のことを試しました:
<uc1:OfacControl id="OfacControl1" runat="server" AssetEvictionId='<%# Bind("AssetEvictionId") %>' />
しかし、値が正しく設定されることはありません。
また、preRender メソッドのフォームのコード ビハインドで次のように試してみました。
var assetEvictionIdHiddenField = (HiddenField)oFormView.FindControl("AssetEvictionIdHiddenField");
var OfacControl1 = (Ofac)oFormView.FindControl("OfacControl1");
if (OfacControl1 != null && assetEvictionIdHiddenField != null)
OfacControl1.AssetEvictionId = Convert.ToInt32(assetEvictionIdHiddenField.Value);
これもうまくいきません。
タイミングの問題のようです。値が設定されているのとは異なる時間にコントロールがレンダリングされているようです。バインド構文が機能せず、コード ビハインドを使用せざるを得ない場合は、どのフォーム ビュー イベントを使用して値を設定する必要がありますか。OnItemCreated イベントも試しました。これもうまくいきませんでした。