2012-02-01 18 views
1

私は、親のIDを格納するために、挿入モードで隠しフィールドを持つ子要素のdetailsViewを使用して、.NETでいくつかのデータベース操作を行っています。それはのように読み込まれます:これは、最初はうまく動作しますchangeModeのコントロールを失う?

dvChild.ChangeMode(DetailsViewMode.Insert); 
HiddenField hdParentId = (HiddenField) FindControlRecursive(Page, "hdParentId"); 
hdParentId.Value = parent.ParentId; 

- 親のためのユーザーの検索、検索が親IDを返し、子エディタが挿入モードにひっくり返されます。ポストバックに私は、元の挿入をエコーするdvChildを使用する

dvChild.ChangeMode(DetailsViewMode.ReadOnly); 

を呼び出します。

しかし、ユーザーがポストバックページから検索を実行するとき、hdParentIdを検索しようとすると、ページがレンダリングされるときにコントロール自体が表示されても、nullが返されます。どうしたの?

FindControlRecursiveは、ネストされたコントロールをドリルダウンする一般的なハックです。 dvChild.FindControl( "hdParentId")もまた予想外に空になります。

答えて

1

私は馬鹿だと感じる。私は、右のモード変更後

dvChild.DataBind() 

を呼び出すために、プログラムで利用できるようになり、すべてのバリアントモード制御を保証する必要があります。

関連する問題