ユーザーコントロールをフォームビューアイテムテンプレートに追加しましたが、パブリックプロパティをユーザーコントロールに追加しました。プロパティを設定する方法がわかりません。私は以下を試しました:FormViewでPublicプロパティを使用するユーザーコントロール
<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イベントも試しました。これはどちらもうまくいかなかった。