我需要使用Web表单编辑具有复杂属性的复杂对象。例如,编辑包含有关用户的各种信息的“用户信息”记录,包括复杂的事物,例如每个用户的唯一树。 我做的是这个:
我创建了一个带有Formview控件的Web表单,并将我想要绑定的对象设置为Formview的数据源。
在Formview模板中,我将Usercontrols用于绑定每个对象属性。我传递给Usercontrol的唯一东西是它想要绑定的属性的名称。
在Usercontrol内部,我根据Usercontrol要显示的属性类型创建了服务器端控件。 如果它是一个简单的属性,如字符串,我做了类似的事情:
<asp:TextBox ID="textBox1" runat="server" Text='<%# Bind(PassedAttributeName) %>' />
这很好用。
我的问题在于复杂的属性,例如假设出现在树视图中的东西。我不确定我怎么想将Usercontrol中的treeview绑定到一个对象的属性,该对象是包含Formview的数据源......
如果您对如何做到这一点有所了解,或者如果您认为我做错了,那么任何帮助都将受到赞赏。
感谢。
答案 0 :(得分: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绑定到具有属性地址的对象,该属性地址是更多对象的集合。