2

Web フォームを使用して、複雑なプロパティを持つ複雑なオブジェクトを編集する必要があります。たとえば、各ユーザーに固有のツリーなどの複雑なものを含む、ユーザーに関するあらゆる種類の情報を含む「ユーザー情報」レコードを編集します。私がしたことはこれでした:

Formview コントロールを使用して Web フォームを作成し、バインドするオブジェクトを Formview のデータソースとして設定しました。

Formview テンプレートでは、各オブジェクト プロパティをバインドするためのユーザー コントロールを配置しました。Usercontrol に渡すのは、バインドするプロパティの名前だけです。

Usercontrol 内に、Usercontrol が表示するプロパティのタイプに応じてサーバー側コントロールを作成しました。文字列のような単純なプロパティの場合、次のようにしました。

<asp:TextBox ID="textBox1" runat="server" Text='<%# Bind(PassedAttributeName) %>' />

そして、これはうまくいきます。

私の問題は、ツリービューに表示されると思われるもののような複雑なプロパティにあります。ユーザーコントロール内のツリービューを、含まれているフォームビューのデータソースであるオブジェクトのプロパティにバインドする方法がよくわかりません...

これをどのように行うことができるかについての考えがある場合、または私がこのすべてを間違っていると思う場合は、どんな助けも感謝します.

ありがとう。

4

1 に答える 1

1

サーバー コントロールのデータ ソースを親オブジェクトのプロパティにバインドできます。

このコードは 100% 正しいとは限りませんが、

<asp:FormView Id="formView1" runat="server">
    <asp:TextBox ID="textBox1" runat="server" Text='<%# Bind("FirstName")%>'/>
    <asp:Repeater ID="repeater1" runat="server" DataSource='<%# Bind("Addresses")%>'>
    //etc
    </asp:Repeater>
</asp:FormView>

FormView を、より多くのオブジェクトのコレクションである Property Addresses を持つオブジェクトにバインドすると仮定します。

于 2009-07-08T19:59:43.140 に答える