(首先,似乎这是一个以前讨论过很多次的主题,但我无法找到适合我案例的答案)
我有一个带有DropDownList的asp.net FormView,用于选择一个月。 FormView是绑定到ObjectDataSource的数据。
<asp:DropDownList ID="MonthsList" DataSourceID="MonthsListDataSource" DataTextField="Value" DataValueField="Key" SelectedValue='<%# Bind("OrderDate.Month") %>' Width="100" runat="server" />
我喜欢将所选值绑定到'OrderDate'的嵌套属性'Month',如上所示。 OrderDate属性的类型为DateTime。我在绑定到嵌套属性时遇到的错误是:
对Bind的调用格式不正确。有关Bind的正确参数,请参阅文档。
能够绑定到嵌套的角色的最佳解决方案是什么?
提前致谢。
答案 0 :(得分:3)
您是从DataSourceID =“MonthsListDataSource”检索数据并尝试将其绑定到另一个DataBase字段(SelectedValue ='&lt;%#Eval(“OrderDate.Month”)%&gt;')?
在我的应用程序中,这样做:
<asp:DropDownList ID="MonthsList" DataSourceID="MonthsListDataSource" DataTextField="Value" DataValueField="Key" SelectedValue='<%# Eval("MonthsListDataSource.Month") %>' Width="100" runat="server" />
使用find控件更新retrieve de DropDownList时,获取其选定值,将其关联到其他表(OrderDate.Month)并保存。
对不起我的回答,但我不知道是否有任何承诺。
答案 1 :(得分:1)
如何使用 Eval 关键字
<asp:DropDownList ID="MonthsList" DataSourceID="MonthsListDataSource" DataTextField="Value" DataValueField="Key" SelectedValue='<%# Eval("OrderDate.Month") %>' Width="100" runat="server" />